Android Studio 更新后 签名需要迁移到PKCS 12格式 特此记录下迁移以及打包签名和获取Sha1 MD5等数据的方式
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12
1:cd 到Android Studio 的 jre 文件夹中的bin目录下(在此目录下才能调用keyTool,xx盘)
语法:
cd \ 返回根目录
d: 切换盘符
cd.. 倒退文件夹
cd 打开文件夹
2:生成jks签名文件
语法:
keytool -genkey -v -keystore demo.jks -alias demo -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000
备注:
-keystore:设置生成的文件名称,包含后缀;
-alias:设置别名
-storepass:设置文件的密码
-keypass:设置key的密码
-keyalg:设置使用的加密算法,一般写RSA
-validity:设置有效期,尽可能长啦
后续
D:\develop\Android Studio\jre\bin>keytool -genkey -v -keystore demo.jks -alias demo -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000
您的名字与姓氏是什么?
[Unknown]: wu
您的组织单位名称是什么?
[Unknown]: xxx公司
您的组织名称是什么?
[Unknown]: xxx组织
您所在的城市或区域名称是什么?
[Unknown]: 北京
您所在的省/市/自治区名称是什么?
[Unknown]: 京
该单位的双字母国家/地区代码是什么?
[Unknown]: 86
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86是否正确?
[否]: 是
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 14,000 天):
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86
[正在存储demo.jks]
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
D:\develop\Android Studio\jre\bin>
语法:Android Studio会提示出来迁移的方法直接复制运行就可以了
keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12
效果
D:\develop\Android Studio\jre\bin>keytool -genkey -v -keystore demo.jks -alias demo -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000
您的名字与姓氏是什么?
[Unknown]: wu
您的组织单位名称是什么?
[Unknown]: xxx公司
您的组织名称是什么?
[Unknown]: xxx组织
您所在的城市或区域名称是什么?
[Unknown]: 北京
您所在的省/市/自治区名称是什么?
[Unknown]: 京
该单位的双字母国家/地区代码是什么?
[Unknown]: 86
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86是否正确?
[否]: 是
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 14,000 天):
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86
[正在存储demo.jks]
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
D:\develop\Android Studio\jre\bin>keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12
输入源密钥库口令:
已成功导入别名 demo 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
Warning:
已将 "demo.jks" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "demo.jks.old" 进行了备份。
D:\develop\Android Studio\jre\bin>
1:第一步配置将jks配置到项目的app的build.gradle
注意:jks文件也要放在app目录下或者动态替换storeFile的文件路径
signingConfigs {
debug {
keyAlias 'dh' //别名
keyPassword '123456' //key密码
storePassword '123456' // store的密码,注意是否与key的密码相同
storeFile file('dh.keystore')//key的路径,注意不能与release版本相同
}
release {
keyAlias 'dh'
keyPassword '123456'
storePassword '123456'
storeFile file('dh.keystore')
}
}
buildTypes {
release {
zipAlignEnabled true //Zipalign优化
signingConfig signingConfigs.release //签名
}
debug {
signingConfig signingConfigs.debug
zipAlignEnabled true //Zipalign优化
}
}
2:生成SHA1,以及MD5
步骤:
Android studio -->右边框 -->Gradle --> 项目 --> Task --> signingReport(双击)
效果
PKCS12是新版本studio 打包推荐的签名格式,以及获取MD5 SHA1 等操作是常见操作所以特此记录.希望能帮助到你,来都来了点个赞再走吧.