android 中.properties文件和签名配置

gradle本身支持直接签名,只需要在releas部分添加如下代码即可

signingConfigs {

debug {

           storeFile file("CaviarAppkey.jks")

            storePassword "liangzi2017"

            keyAlias "key"

          keyPassword "liangzi2017"

}

release.initWith(signingConfigs.debug)}


一般填上上面的代码即可执行签名,但是这种方式不太安全,建议不要在build.gradle文件中写上签名文件的密码,因为build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码。

所以应该把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。

gradle配置文件一般以.properties结束,我们先新建一个signing.properties文件,内容如下

STORE_FILE=yourapp.keystore

STORE_PASSWORD=your password

KEY_ALIAS=your alias

KEY_PASSWORD=your password

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

接下在guild.gradle文件中读取signing.properties配置文件,读取的代码如下:

task getPassWD << {

defpassword =''

File propFile =rootProject.file('signing.properties');

if(propFile.exists()) {

println'exists'

defProperties props =newProperties()

props.load(newFileInputStream(propFile))

password = props.getProperty("KEY_PASSWORD")

println"$password"

android.signingConfigs.release.storeFile = file(props['STORE_FILE'])

android.signingConfigs.release.storePassword = props['STORE_PASSWORD']

android.signingConfigs.release.keyAlias = props['KEY_ALIAS']

android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']

}else{

println'no exists'}}

代码很简单,就是读取文件,然后拿到签名需要的四个变量值分别赋值即可。

你可能感兴趣的:(android 中.properties文件和签名配置)