我的build.gradle中有以下内容:
signingConfigs
release {
storeFile file('/Users/name/testproject/test')
storePassword getProps("KEYSTORE_PASSWORD")
keyAlias = 'test'
keyPassword = getProps("KEYSTORE_PASSWORD")
}
def getProps(String propName) {
def propsFile = rootProject.file('secrets.properties')
if (propsFile.exists()) {
def props = new Properties()
props.load(new FileInputStream(propsFile))
return props[propName]
} else {
return ""
}
}
在secrets.properties
文件中,我有密钥库的密码,但当我尝试构建APK:版本时,我会得到这个密码
Cannot recover key
我倾向于加载包含所有内容的机密文件夹,首先定义一个别名,然后使用该对象引用secrets
文件中定义的所有密码。
在build.gradle文件的开头:
def secrets = new Properties()
file("../secrets.properties").withInputStream {
stream -> secrets.load(stream)
}
fileTree("../secrets").matching {
include "**/*.properties"
}.each {
File file ->
file.withInputStream {
stream -> secrets.load(stream)
}
}
然后在我需要的地方:
release {
// ...
key = secrets.MY_KEY
}