起因
一个项目(project)文件夹中有多个工程(module),这多个module使用的
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
依赖库
等等需要统一管理其版本号,避免频繁修改。
运用
在module项目里的build.gradle文件中,通过下面的方式来统一版本
$rootProject.supportLibraryVersion
$rootProject.ext.junitVersion
代码
在project的build.gradle文件的最底部
ext {
// Sdk and tools
minSdkVersion = 21
targetSdkVersion = 28
compileSdkVersion = 28
buildToolsVersion = '28.0.3'
// App dependencies
supportLibraryVersion = '25.1.0'
guavaVersion = '18.0'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
powerMockito = '1.6.2'
hamcrestVersion = '1.3'
runnerVersion = '0.5'
rulesVersion = '0.5'
espressoVersion = '2.2.2'
}
上面的名称和版本号根据个人需要进行修改。
在module里的build.gradle里
apply plugin: 'com.android.library'
android {
// http://tools.android.com/tech-docs/new-build-system/tips
//noinspection GroovyAssignabilityCheck
compileSdkVersion rootProject.ext.compileSdkVersion
//noinspection GroovyAssignabilityCheck
buildToolsVersion rootProject.ext.buildToolsVersion
lintOptions {
abortOnError false
}
defaultConfig {
minSdkVersion 9
targetSdkVersion rootProject.ext.targetSdkVersion
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
//apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");