![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB1keFRVYx4kMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1YjN4UjM1cTM2AjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
項目根目錄中建立一個gradle檔案,名字随便起,也可以不建立直接寫在項目的build.gradle檔案中。
1.在gradle檔案中定義變量并指派:
例如我在項目根目錄建立globalconfig.gradle檔案,内容如下:
ext {
//簽名檔案目錄
storageFilePath = [
releaseSignStoreFile: '/Users/***/tools/keystore/***/***',
zhangsanSignStoreFile : '/Users/***/tools/keystore/lsjk/lsjkkeystore',
lisiSignStoreFile : '/Users/***/tools/keystore/lejianbang/lejianbangkeystore',
wangwuSignStoreFile : '/Users/***/tools/keystore/xingyi/xingyikeystore',
]
//打包版本配置
isTest = false
isRelease = false
// Sdk and tools
buildToolsVersion = '23.0.3'
compileSdkVersion = 24
minSdkVersion = 16
targetSdkVersion = 22
//版本号
versionCode = 61
versionName = "2.5.7"
javaVersion = JavaVersion.VERSION_1_7
// App dependencies version
supportLibraryVersion = "24.2.1"
constraintVersion = "1.0.2"
multidexVersion = "1.0.1"
//第三方庫版本
arouterApiVersion = "1.3.1"
annotationProcessor = "1.1.4"
xutilsVersion = "3.5.0"
glideVersion = "3.7.0"
gsonVersion = "2.8.2"
fragmentationVersion = "1.1.9"
loggerVersion = "2.1.1"
rxjavaVersion = '1.1.0'
rxandroidVersion = '1.1.0'
okhttpVersion = '3.9.1'
okhttploggingVersion = '3.8.1'
retrofitVersion = '2.3.0'
}
2.在app module的build.gradle中使用變量:
appVersionCode = rootProject.ext.versionCode
appVersionName = rootProject.ext.versionName
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
signingConfigs {
releaseSignStoreFile{
keyAlias 'release'
keyPassword '12334'
storeFile file(rootProject.ext.storageFilePath.releaseSignStoreFile)
storePassword '12345'
}
zhangsanSignStoreFile {
keyAlias 'zhangsan'
keyPassword '11111'
storeFile file(rootProject.ext.storageFilePath.zhangsanSignStoreFile )
storePassword '22222'
}
lisiSignStoreFile {
keyAlias 'lisi'
keyPassword '212323'
storeFile file(rootProject.ext.storageFilePath.lisiSignStoreFile)
storePassword '123123123'
}
wangwuSignStoreFile {
keyAlias 'wangwu'
keyPassword '3234'
storeFile file(rootProject.ext.storageFilePath.wangwuSignStoreFile )
storePassword '3243423'
}
}
dependencies {
compile "io.reactivex:rxandroid:${rootProject.ext.rxandroidVersion}"
compile "io.reactivex:rxjava:${rootProject.ext.rxjavaVersion}"
}
也可以省去rootProject,在build.gradle中增加如下代碼導入配置即可:
apply from: '../globalconfig.gradle'
如果上述變量直接定義在app的build.gradle中這句導入也不需要了。