APP需要签名后才能在Android设备上安装,开发时默认是使用debug签名,发布产品时不能用这个签名,必须使用自己的签名文件。
签名文件是一个叫keystore的东西 ,它有一个store密码,keystore包含一个key,和一个key密码
生成keystore
keytool -genkeypair -keystore “app.keystore” -storepass “123456” -alias “xxx_app”
其中:
-keystore “app.keystore” 是生成的keystore文件名
-storepass “123456” 是keystore的密码
-alias “xxx_app” 是key的别名
回车后,需要输入各种信息,当然也可以直接回车默认,最后需要输入key的密码,回车默认同keystore一样。
执行完后,在当前目录会生成一个app.keystore的文件,这个就是用来签名APP的文件。
在android studio中使用签名
将app.keystore放入工程目录下,打开工程的build.gradle
修改成如下形式:
android{
signingConfigs { //签名配置表
release {
keyAlias 'xxx_app'
keyPassword '123456'
storeFile file('./app.keystore')
storePassword '123456'
}
}
buildTypes {
release { //生成类型,release为最终发布版本
signingConfig signingConfigs.release
....
}
debug { //调试版本,也可以使用我们自己的签名
signingConfig signingConfigs.release
}
}
当然,也可以直接编辑android studio的工程属性设置签名信息~~
默认调试签名
直接在android studio中启动调试的时候,默认情况下APP会使用调试KEY,这个KEY一般保存在~/.android/debug.keystore中:
$ keytool -list -keystore .android/debug.keystore
输入密钥库口令: #这里密码是android
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
androiddebugkey, 2015-9-18, PrivateKeyEntry,
证书指纹 (SHA1): 9D:D3:24:5A:EB:CF:14:E6:E3:9B:17:D9:2F:8C:F5:A9:71:84:B1:BE