在我们使用Android studio开发项目时,通常会在一个project下出现多个mode,这时每个mode相同的依赖就要同步否则容易出问题,但是有时在操作时会忘记,这样就很不方便比如 v4 包,那么,每次 v4 包升级的时候修改多个 Module 中的 build.gradle 文件,更新其版本都是一件麻烦的事情,而且很有可能忘记某个 Module。所以,将依赖进行统一管理,对于一个 Project 下拥有多个 Module 的情况来说是非常必要的。
代码如下
抽取统一的依赖
在根目录新建一个config.gradle
文件,里面键入要统一的依赖:
ext {
android = [
compileSdkVersion: 23,
buildToolsVersion: "23.0.3",
minSdkVersion : 15,
targetSdkVersion : 22,
versionCode : 1,
versionName : "1.0"
]
dependencies = [
"gson" : "com.google.code.gson:gson:2.6.2",
"eventbus" : 'org.greenrobot:eventbus:3.0.0',
"butterknife" : 'com.jakewharton:butterknife:7.0.1',
"support-design" : 'com.android.support:design:24.1.1',
"support-appcompatV7": 'com.android.support:appcompat-v7:24.1.1',
"support-percent" : 'com.android.support:percent:24.1.1',
"support-multidex" : 'com.android.support:multidex:1.0.1',
"glide" : 'com.github.bumptech.glide:glide:3.7.0',
"support-v4" : 'com.android.support:support-v4:24.1.1',
"okhttp3" : 'com.squareup.okhttp3:okhttp:3.3.1',
"nineoldandroids" : 'com.nineoldandroids:library:2.4.0'
]
}
然后在根目录的build.gradle
文件里面头部新增一句引用apply from: "config.gradle"
在module里面开始应用:
compileSdkVersion rootProject.ext.android.compileSdkVersion //android{}节点
compile rootProject.ext.dependencies["support-appcompatV7"] //dependencies{}节点
clean一下去External Libraries看看,是不是还有重复的,如果还有,说明前面config里面的依赖其他地方还有遗漏的,全局搜索一下在同样方式替换一下就好了。
此外还有一种方式在这篇文章里有详细的描述
https://www.jianshu.com/p/7c2b666d7302?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq