最近一段时间打开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