构建首个默认应用时出现“:app:preDebugAndroidTestBuild”执行失败错误
解决com.android.support:support-annotations版本冲突问题
这个报错是很常见的依赖版本不一致问题——你的主应用模块依赖的com.android.support:support-annotations版本是26.1.0,但测试模块(AndroidTest)依赖的版本是27.1.1,Gradle无法自动调和这种版本差异,所以抛出了构建失败的提示。
下面给你几个实用的解决办法,选一个适合你项目情况的就行:
方法一:强制所有模块统一使用同一版本的注解库
在项目根目录的build.gradle(注意不是app子模块下的那个)中,添加版本强制配置,让所有依赖都使用主应用的26.1.0版本:
allprojects { repositories { // 保留你原本的仓库配置,比如google()、mavenCentral()等 } configurations.all { resolutionStrategy.force 'com.android.support:support-annotations:26.1.0' } }
配置完成后同步Gradle,测试模块的注解库版本会被强制替换成和主应用一致的版本。
方法二:手动指定测试模块的注解库版本
打开app子模块下的build.gradle,找到dependencies代码块,直接给测试依赖指定和主应用相同的注解库版本:
dependencies { // 主应用已有的依赖,比如 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support:support-annotations:26.1.0' // 给测试依赖添加指定版本的注解库 androidTestImplementation 'com.android.support:support-annotations:26.1.0' }
如果测试依赖是间接引入的注解库,也可以先排除原有依赖,再手动添加指定版本:
androidTestImplementation('com.android.support.test:runner:1.0.2') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestImplementation 'com.android.support:support-annotations:26.1.0'
方法三:升级主应用的support库版本到27.1.1
如果你的项目没有版本限制,直接把主应用中所有support相关依赖的版本都升级到27.1.1,让主应用和测试模块的版本保持一致:
dependencies { // 将原26.1.0的support依赖全部替换为27.1.1 implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:support-annotations:27.1.1' }
完成任意一种配置后,点击Android Studio右上角的Sync Project with Gradle Files按钮重新同步项目,构建报错应该就能解决了。
内容的提问来源于stack exchange,提问作者SilentDev
相关产品推荐
相关产品推荐

