关于gradle打包keystore密码的安全问题
build.gradle中
signingConfigs {
tuniuConfig {
storeFile file("key/tuniu.keystore")
storePassword "******"
keyAlias "******"
keyPassword "******"
}
}
但是这样build.gradle是要集成到版本管理中的,每个下载代码的人都能看到密码
有2种方法解决密码暴露这个问题
1. 在打正式发版包的主机上配置环境变量,build.gradle中使用读取系统环境变量的方式载入密码
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
2. 创建一个不加入版本控制的.properties文件,内容:
STORE_FILE=yourapp.keystore
STORE_PASSWORD=your password
STORE_PASSWORD=your password
KEY_ALIAS=your alias
KEY_PASSWORD=your password
然后在build.gradle中读取该配置文件中的密码
参照http://www.bubuko.com/infodetail-797644.html
http://segmentfault.com/a/1190000002910311
http://stackoverflow.com/questions/18328730/how-to-create-a-release-signed-apk-file-using-gradle