在app的build.gradle中
定义方法:
def setSigningProperties() {
//这里是读取build.properties文件,提供给下方代码用来提取keystroe_storeFile等key的值
def props = new Properties()
// def currentFlavor = getCurrentFlavor()
// def flavorBuildPro = "app/src/${currentFlavor}/buildConfigs/build.properties"
def defaultBuildPro = 'app/KeyStore/build.properties'
if(project.rootProject.file(defaultBuildPro).exists()) {
props.load(project.rootProject.file(defaultBuildPro).newDataInputStream())
} else {
props.load(project.rootProject.file(defaultBuildPro).newDataInputStream())
}
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
}
然后引用上
//signingConfigs 需要写在buildTypes 前面,不然会编译报错。
signingConfigs {
release {//发布版本的签名配置
setSigningProperties()
}
previewRelease {
storeFile file("KeyStore/eim-android.keystore")
storePassword "123456789"
keyAlias "eim-android"
keyPassword "123456789"
}
// debug {//调试版本的签名配置
// storeFile file(props['DEBUG_KEYSTORE'])
// keyAlias props['DEBUG_ALIAS']
// storePassword props['DEBUG_KEYSTORE_PWD']
// keyPassword props['DEBUG_KEY_PWD']
// }
}
新建一个.properties文件,自己找个位置新建。我选的是这里:
文件内容是:
STORE_PASSWORD=123456789
KEY_ALIAS=key0
KEY_PASSWORD=123456789
STORE_FILE=../app/KeyStore/KnowledgePooling.keystore
打完收工!