第一个方法
排除掉冲突的其中一个版本即可。因为 support 库一般要保持统一版本,所以我选择排除其他库的冲突版本。
androidTestImplementation ('com.android.support.test:runner:1.0.2'){
exclude group: 'com.android.support'
}
androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.2'){
exclude group: 'com.android.support'
}
复制代码
另一个方法
开发工作中,遇到依赖库版本冲突问题,是很常见的问题,通过以上步骤基本都能解决,但是有时候项目很庞大,找起来挺费事。针对这种情况,有一个简单粗暴的方法。
在 project 的 build.gradle 中添加如下的代码。作用是在项目构建时,遍历所有依赖,然后 com.android.support 包下的依赖替换同一个版本。
buildscript {
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
}
}
}
复制代码
这个方法,解决的很有效率,但是每次构建的时候,多了一个遍历过程,会加长构建时间。因此,只建议应急用,推荐使用 exclude 关键字排除。