您的位置:首页 > 产品设计 > UI/UE

Gradle构建项目时,将敏感信息保存在build.gradle之外

2016-02-24 14:37 447 查看
在做release时,你app的build.gradle定义signingConfigs可能内容是这样的:

signingConfigs { //签名配置
release {
storeFile file("debuge.keystore")
storePassword 'pwd123'
keyAlias 'zhan'
keyPassword 'pwd1234'
}
}


由于build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码,会有后续的麻烦。所以呢,我们接下来要做的就是把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。

将敏感信息保存在build.gradle之外

gradle的配置文件一般以.properties结束。

建立一个不加入版本控制系统的 xxxx.properties文件(个人建在app 下 version.properties)。

storefile=xxx.keystore
keyAlias=your alias
KEYSTORE_PASSWORD=your.password
KEY_PASSWORD=your.password789


注意没有字符串双引号””

注意没有字符串双引号””

注意没有字符串双引号”“

build.gradle下 调用 version.properties 文件

def versionPropsFile = file("version.properties")
Properties versionProps = new Properties()

android {
signingConfigs { //签名配置
release {
if (versionPropsFile.canRead()) {
versionProps.load(new FileInputStream(versionPropsFile))
storeFile file(versionProps['storefile'].toString())
storePassword versionProps['KEYSTORE_PASSWORD'].toString()
keyAlias versionProps['keyAlias'].toString()
keyPassword versionProps['KEY_PASSWORD'].toString()
} else {
throw new GradleException("Could not read version.properties!")
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: