前言
随着项目的不断迭代更新,项目变的也越来越大,为了减少编译时间,开发效率,大多采用模块化,组件化开发,moudle 的个数也会随着增加,那么一些依赖或sdk版本升级的时候,每个 moudle 的 gradle 可能都需要修改一遍,统一管理配置就显得比较重要了。网上也给出了几种实现方式,这里只针对个人觉得比较好的方式做介绍。
一、配置
在 project 根目录建一个文件夹 config,里面创建一个 ****.gradle 文件,名称可以自定义,在这里是 config.gradle
ext {
// app 相关版本控制
versions = [
sdkMinVersion : 15,
sdkTargetVersion : 26,
sdkCompileVersion : 26,
toolsBuildVersion : "26.0.2",
appVersionCode : 520,
appVersionName : "1.0.0"
]
// 依赖相关版本控制
depVersion = [
appCompatVersion : "26.+",
recyclerViewVersion : "26.0.0-alpha1"
]
// 依赖
deps = [
suport : [
appcompat : "com.android.support:appcompat-v7:${depVersion.appCompatVersion}",
recyclerview: "com.android.support:recyclerview-v7:${depVersion.recyclerViewVersion}"
]
]
}
二、调用
01、在 project 根目录下的 build.gradle 添加一行代码,注意没有这行代码,是不起作用的
apply from: 'config/config.gradle'
02、在相应 moudle 中调用
android {
def versions = rootProject.ext.versions
compileSdkVersion versions.sdkCompileVersion
buildToolsVersion versions.toolsBuildVersion
defaultConfig {
applicationId "exrow.zp.zpexrow"
minSdkVersion versions.sdkMinVersion
targetSdkVersion versions.sdkTargetVersion
versionCode versions.appVersionCode
versionName versions.appVersionName
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
def dependencies = rootProject.ext.deps
compile dependencies.suport.appcompat
compile dependencies.suport.recyclerview
}
三、备注
gradle 中也会有其他相应的配置,其他配置与上面配置方式同理,可根据自身情况采用。