关于android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的原因及解决办法

最近一段时间打开Android studio在build过程中总会出现以下错误。

Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

rebuild后就消失了。但每次新建文件或者重启AS后又会重现此类情况,看错误信息,提示为依赖冲突


Resolved versions for app (26.1.0) and test app (27.1.1) differ

但build.gradle中并没有引用27.1.1的com.android.support:support-annotations,于是在external library中寻找(将AS切换到Project视图下可看到external library)

究其原因

androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

上述两个依赖同时依赖了v27.1.1版本的com.android.support:support-annotations。

解决办法:

1、降低上述两个依赖的版本

androidTestImplementation 'com.android.support.test:runner:1.0.0'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.0'

2、在app下的build.gradle文件中的dependences{}中添加如下代码

androidTestCompile('com.android.support:support-annotations:26.1.0') {
    force = true
}

3、在android节点下添加

configurations.all{
   resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
}

4、修改compileSdkVersion、com.android.support:appcompat-v7依赖为27

compileSdkVersion 27

com.android.support:appcompat-v7:27.1.1
发布了24 篇原创文章 · 获赞 2 · 访问量 8205

猜你喜欢

转载自blog.csdn.net/Dragonlongbo/article/details/84848284