Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/t
这个报错我相信很多人都遇到过,我对此也是不胜其烦,尝试多次之后找到几个解决的办法。起因就是我的项目同时引用了不同的版本的同一个工具包或是依赖,导致的内部冲突
查看app 下的build.gradle中的 compileSdkVersion,targetSdkVersion的版本,然后查看,project下的External Libraries里面文件support-annotations,看是否有27.1.1版本的文件依赖。
第一个方法
最简单的。那就是 Build → Rebuild Project 但是可能你之后在build.gradle里面添加其他依赖库的时候依然会这个。
第二个方法
在app下的 build.gradle 里面 dependencies闭包里面加上下面这句
androidTestCompile('com.android.support:support-annotations:26.1.0') { force = true }
加上这一句,之后不管你怎么添加依赖都不会出这个bug,亲测有效。
如下图所示
第三种方法
在app下的 build.gradle 里面 dependencies闭包上面 加上下面这句
configurations.all { resolutionStrategy.force 'com.android.support:support-annotations:26.1.0' }
这句话的意思是强行指定版本为26.1.0
第四种方法
也比较简单粗暴 ,那就是
将这两句给注释掉,然后在Sync Now 也是会清除你目录下的27.1.1 的依赖包的
第五种方法
那就是升级版本,你26.1.0和27.1.1我都不用了,直接升级到28.0.0,然后就可以了,不过你得在网速好的时候使用,因为需要下载新的SDK,会比较大,自测有效,如下图所示