赞
踩
生成 keystore
签名文件,可以直接通过 AS 生成。
Build–>Generate signed Bundle/APK --> APK --> Create new…
填写配置信息:
设置 keystore
路径、密码,设置key:别名、密码、有效期,证书等。
Key store path:存放路径(文件名和后缀都可以根据需要任意填写)
Key Alias:别名
Validity(years):有效期(一般默认25年)
Certificate:证书
First and Last Name:姓名
Organization Unit:组织单位
Organization:组织
City or Locality:城市或地区
State or Province:州或省
Country Code(XX):国家代码(XX),中国:86
填完相关信息后,点击 OK
。
然后勾选相应信息
点击 finish
后,文件就生成了。
看看 gradle
文件中签名相关配置。
signingConfigs { release { storePassword 'aaaaaa' keyAlias = 'lynn' keyPassword 'aaaaaa' //这里的key_lynn.jks 文件是放在了app目录下,可以根据具体文件路径填写 storeFile file('./key_lynn.jks') } } buildTypes { release { zipAlignEnabled true minifyEnabled true shrinkResources true // 自动清理无用资源 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug } }
到这一步,签名信息基本是配置好了,可以编译一下是否成功。
gradlew assembleRelease
前面的步骤下来,配置的签名密码什么的写死在 build.gradle
文件中,如果直接上传到服务器,可能会导致密码泄露,更严重的是别人可以拿到你的签名文件重新打包你的应用发布。
那么,有没有办法可以把签名信息隐藏起来呢?
可以通过把签名信息存到本地来解决此问题。
可以在根目录下新建配置文件 signing.properties
。
然后在 .gitignore
文件中配置忽略此文件的提交。
/signing.properties
然后在 signing.properties
文件填写签名的信息。
RELEASE_STORE_FILE=../app/key_lynn.jks
RELEASE_STORE_PASSWORD=aaaaaa
RELEASE_KEY_PASSWORD=aaaaaa
RELEASE_KEY_ALIAS=lynn
当然,这里其实可以直接使用 local.properties
,不用额外新建 signing.properties
文件,后面的例子也是直接使用 local.properties
。
接着,需要在 ./app/build.gradle
中导入文件中的签名信息。
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def keystorePassword = properties.getProperty("RELEASE_STORE_PASSWORD")
def keystoreAlias = properties.getProperty("RELEASE_KEY_ALIAS")
def keystoreAliasPassword = properties.getProperty("RELEASE_KEY_PASSWORD")
def keyFile = file(properties.getProperty("RELEASE_STORE_FILE"))
修改 signingConfigs
:
signingConfigs {
release {
storePassword keystorePassword
keyAlias = keystoreAlias
keyPassword keystoreAliasPassword
storeFile keyFile
}
}
到此,整个配置就完成了,赶快编译一下是否成功吧。
gradlew assembleRelease
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。