起因

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

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

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

解决方案

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

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

rootProject.allprojects { // 闭包循环每个工程

    subprojects { //每个工程子工程
        project.configurations.all { //查找所有配置
            resolutionStrategy.eachDependency { details -> //遍历所有依赖
                if (details.requested.group == 'com.android.support'
                        && details.requested.name.contains('appcompat-v7')) {
                    details.useVersion "26.1.0" //将support包 v7替换为26.1.0 ,这里根据你自己的需要来改就可以了
                }
            }
        }
    }

}