Android 每天进步一点点之Gradle dependencies.gradle 总依赖

compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.squareup.okhttp3:okhttp:3.5.0'

大家对以上的gradle的依赖管理都不陌生,Gradle只要简单的这样引入eventbus,okhttp之后就可以在项目上实际进行使用了。
如果 依赖的库 版本升级了,那该怎么办?你可能会说直接在 build.gradle 进行修改就行,这当然是个解决方法。如果只有这个地方要进行修改的话,问题倒是不大。但是,如果你的项目里面有好几个 module 呢?现在 APP 的规模越来越大,项目里面有多个 module 是非常正常的,每一次的版本更新,你都要修改所有的地方,麻烦不说,还可能会遗漏掉某些地方。所以分享一下我今天学习到的 Gradle方便之处,会更一步解决我上面所遇到的问题。

一、首先在根目录添加 dependencies.gradle 文件,并在dependencies.gradle 中配置我们所要依赖的库:文件内容简单如下

project.ext{
android={
compileSdkVersion 23
buildToolsVersion "25.0.2"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
applicationId="com.kecai.demo"
}

dependencies={
    "baiduLBS"  : compile files('libs/BaiduLBS_Android.jar')
    "core"  : compile files('libs/core_3.2.0.jar')
    "libamm"  : compile files('libs/libammsdk.jar')
    "mta-sdk"  : compile files('libs/mta-sdk-1.6.2.jar')
    "open_sdk"  : compile files('libs/open_sdk_r5756.jar')
    "pgyer_sdk"  : compile files('libs/pgyer_sdk_2.4.5.jar')
}

}
ependencies.gradle 中主要是 android 和依赖的一些基本配置,这个文件中的内容都是 gradle 支持的语法。android 中主要是 APP 的一些基本配置,如 SDK 的版本。dependencies 中主要是我们依赖的第三方库,把经常使用的第三方库都放在里面,以后所有 module 以及我们的主项目都统一在这里读取就行了。
二、在 build.gradle 读取配置文件所依赖的内容。代码内容如下

根目录下的build.gradle,修改如下,这样会让每个module 都可以读取以上的dependencies.gradle的内容配置。
apply from :"dependencies.gradle"

buildscript{
repositories{
jcenter()
}
dependencies {
compile files('com.android.tools.build:gradle:2.3.1')
}

allprojects{
  repositories{
    jcenter()
  }
}

task clean(type:Delete){
  delete rootProject.buildDir
}

}

然后再修改下app项目下的build.gradle 文件的内容

apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
applicationId rootProject.ext.android.applicationId
minSdkVersion rootProject.ext.android..minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
multiDexEnabled true
}

}

dependencies {
compile rootProject.ext.dependencies["baiduLBS"]
compile rootProject.ext.dependencies["core"]
compile rootProject.ext.dependencies["libamm"]
compile rootProject.ext.dependencies["mta-sdk"]
compile rootProject.ext.dependencies["open_sdk"]
compile rootProject.ext.dependencies["pgyer_sdk"]
}

总结:上述代码可以观察,在我们每个app项目下的build.gradle中只要引入

rootProject.ext.android.xxx或者rootProject.ext.dependencies[""]即可,如果要修改版本,直接在根目录直接修改

推荐阅读更多精彩内容