关键代码引用自https://gist.github.com/gabrielemariotti/6856974
原标题 Android项目上传github前对 Build.gradle改写 防止隐私泄露。不过我觉得其实这个方法很通用,就改标题了。真好前几天也爆出github历史发现了XX公司管理人员上传了账号密码等敏感信息. 如果不是Android项目,就直接跳到后半部分开始看起
正文
以前都是习惯直接把keystore硬编码到gradle.build里头。这就会造成如果上传到github之类的网站就会造成信息泄露(比如keystore密码之流)
首先改写原来含有签名配置的gradle文件内容如下
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
def Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()){
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']