android 依赖冲突

文章目录

起因

在引入新的依赖后,有时你会报一些冲突的错误,尤其是 v4 v7 库的使用

有的时候能"自动"纠正,但是大部分时候不行

比如 A 库引用了 v7 26.x.x 的库, B 库使用了 v7 27.x.x 作为依赖

解决方案

gradle 打包的过程中,首先会加载所有 gradle 脚本到库内

然后才是运行的过程, 所以我们只需要在 app 级的build.gradle中增加如下代码即可

 1rootProject.allprojects { // 闭包循环每个工程
 2
 3    subprojects { //每个工程子工程
 4        project.configurations.all { //查找所有配置
 5            resolutionStrategy.eachDependency { details -> //遍历所有依赖
 6                if (details.requested.group == 'com.android.support'
 7                        && details.requested.name.contains('appcompat-v7')) {
 8                    details.useVersion "26.1.0" //将support包 v7替换为26.1.0 ,这里根据你自己的需要来改就可以了
 9                }
10            }
11        }
12    }
13
14}