平常签名的时候通常在build.gradle里面配置,这样的坏处是别人如果能看到git提交的代码,直接能看到签名密码 和key
现在用一个properties文件来保存签名信息,然后保存在本地,git提交的时候加入过滤,这样会增加签名的安全性。
具体代码如下
在app的build.gradle文件中的android下面定义一个
def keystoreProperties = new Properties()
def keystorePropertiesFile = project.rootProject.file("/app/keystore/keystore.properties")
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
然后之前的 签名配置替换成如下形式
release {
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
}
degbug {
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
}
这就完成了签名信息的文件加载了。
其实我写这个不是重点,重点是我花了1个多小时被android studio 的缓存给恶心到了。
配置完之后一直给我报
Keystore was tampered with, or password was incorrect
反复检查,配置没错。 但是就是说你密码错误。
解决方案:
先把 signingConfigs 整个注释掉 ,把kestore文件夹删掉,存放到别处,然后,在debug配置中 把
signingConfig signingConfigs.degbug注释掉,先跑一边,让android studio 清理掉有签名配置的缓存,再 重新配置回来。