Android应用签名证书(.keystore)生成教程
前言
Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。
Android证书可以通过JRE环境中的 keytool
命令生成,不需要审核或付费。
本文仅介绍 Windows 环境下生成 签名证书。
环境准备
推荐安装 JRE 8 以上,本文使用的是 jre1.8.0_241
版本。
这里不介绍 JRE/JDK 的安装。
生成签名证书
使用 keytool -genkey
命令生成证书。
样例命令如下,生成别名为 testalias
,文件名为 test.keystore
的签名证书。
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
说明:
-
testalias
是证书别名,推荐根据项目名设置对应的别名,使用英文字母和数字 -
test.keystore
是证书文件名称,推荐根据项目名设置对应的文件名称,可指定路径
执行命令后,需要根据提示填写相关内容。
根据不同的环境会出现中英文两个版本,内容无差别
-
中
输入密钥库口令: # 这里输入证书密码,完成后回车,下同 再次输入新口令: # 再次输入证书密码 您的名字与姓氏是什么? [Unknown]: # 输入对应问题的内容 您的组织单位名称是什么? [Unknown]: 您的组织名称是什么? [Unknown]: 您所在的城市或区域名称是什么? [Unknown]: 您所在的省/市/自治区名称是什么? [Unknown]: 该单位的双字母国家/地区代码是什么? [Unknown]: # 输入国家/地区代码,中国填CN CN=ALun, OU=ALun Studio, O=ALun, L=Hangzhou, ST=Zhejiang, C=CN是否正确? [否]: # 如果信息填写无误,键入 y,反正键入 n 输入 <testalias> 的密钥口令 (如果和密钥库口令相同, 按回车):
-
英
Enter keystore password: # 输入密钥库口令 Re-enter new password: # 再次输入新口令 What is your first and last name? [Unknown]: # 您的名字与姓氏是什么? What is the name of your organizational unit? [Unknown]: # 您的组织单位名称是什么? What is the name of your organization? [Unknown]: # 您的组织名称是什么? What is the name of your City or Locality? [Unknown]: # 您所在的城市或区域名称是什么? What is the name of your State or Province? [Unknown]: # 您所在的省/市/自治区名称是什么? What is the two-letter country code for this unit? [Unknown]: # 该单位的双字母国家/地区代码是什么? 中国填CN Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? [no]: # 如果信息填写无误,键入 y,反正键入 n Enter key password for <testalias> # 输入 <testalias> 的密钥口令 (RETURN if same as keystore password): # (如果和密钥库口令相同, 按回车)
提示1:HBuilder|HBuilderX 要求这密钥和密钥库密码一致
提示2:上述信息应按照应用情况如实填写
提示3:文件默认生成位置与当前路径一致,建议先通过cd
命令到指定路径。
现在生成签名证书会给出警告:
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
根据警告命令升级为标准格式即可:
keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12
- 命令中的
test.keystore
根据实际命名情况更改
查看证书信息
使用如下命令查看申请书所填信息:
keytool -list -v -keystore test.keystore
- test.keystore 为对应的证书文件名
命令输入后,会要求输入密钥库密码,才能够显示。
安卓签名获取
建议使用微信开放平台中的签名生成工具apk,直接安装到手机进行获取。
引用文档章节:https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html
直接下载路径:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk