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[“”]即可,如果要修改版本,直接在根目录直接修改