Failed to resolve: com.android.support:support-annotations:26.0.2的解决方案

在添加依赖的时候,出现如下报错:
在这里插入图片描述
说我缺少了support-annotations:26.0.2的依赖,那么问题来了,什么是support-annotations?我的项目里面用到了吗?

support-annotations注解库简介

android-support-annotations是Android官方提供的一个注解库,它提供了许多有用的注解,你能用它们修饰你的代码,帮助你发现bug,这些注解的生命周期为源码时期,也就是在编译之后则不再保留,通常用于辅助代码上的静态检查。

此处关于辅助代码检查我们举个例子,@NonNull这个注解大家应该都不陌生,@NonNull注解能被用来标注给定的参数或者返回值不能为null,如果一个本地变量的值为null(比如因为过早的代码检查它是否为null),而你又把它作为参数传递给了一个方法,并且该方法的参数又被@NonNull标注,那么IDE会提醒你,你有一个潜在的崩溃问题。

support-annotations注解库默认是没有包含的,他们被包装成一个独立的库,如果需要我们要去手动引入,在Gradle中引入这个库的方式通常如下:

compile 'com.android.support:support-annotations:23.1.1'

但是如果你已经通过这种方式依赖了support-v4库的话,则不必再显式声明依赖它,因为support-v4也依赖于这个库,由于Gradle的传递依赖的特性,你的项目如果依赖了support-v4库的话,也会依赖到这个注解库。

然后查看自己app的build.gradle文件,发现项目已经依赖了support-v4库了啊,按照上面所说的,如果依赖了support-v4库,也就同时依赖了support-annotations注解库,但是为什么还是会报异常呢?

同样的上面之前的做法,直接在gradle文件引入注解库的做法也是解决不了问题的,原因如下:

原因分析和解决

support annotations自25.4.0之后support包不在sdk中更新了,需要用谷歌的maven库,在Project的build.gradle中添加如下谷歌的地址,因此需要我们手动的在Project的build.gradle中添加如下谷歌的地址:

allprojects {
  repositories {
    ...
    //需要添加的部分,两个仓库添加其一即可解决  
    maven { url "https://maven.google.com"}
    maven { url "https://dl.google.com/dl/android/maven2/"}
    ...
  }
}

这样异常就完美解决了。

经过以上步骤,AndroidStudio就已经安装并且配置完成了,此时打开app的build.gradle文件
截图略
可以看到compileSdkVersion默认为25,上面的例子是因为我安装的是AndroidStudio bundle版本,默认安装的SDK的版本,如果需要更新SDK版本比如更新到28,打开SDK Manager,然后勾选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智玲君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值