有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准
https://blog.zysicyj.top
可点击链接
https://blog-1253652709.cos.ap-guangzhou.myqcloud.com//picgo/202401180921373.png解答疑问
在 Windows 平台生成 Android 应用签名证书 (.keystore 文件)
在发布 Android 应用时,需要使用数字证书(.keystore 文件)进行签名,以标明开发者身份。证书生成过程是自助和免费的,不需要审批或付费。可以使用 JRE 环境中的 keytool 命令生成证书。以下是详细步骤。
安装 JRE 环境
推荐使用 JRE8 环境。如果已安装,可以跳过此部分。
- 从 Oracle 官方下载 JRE 安装包:Oracle Java SE。
- 安装 JRE 后,假设安装目录为
C:\Program Files\Java\jre1.8.0_201。建议将 JRE 安装路径添加到系统环境变量,已配置可跳过此步骤。 - 打开命令行(cmd),输入以下命令:
d:
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
上述命令的含义: - 第一行:切换工作目录到 D: 路径。 - 第二行:将 JRE 命令添加到临时环境变量中。
生成签名证书
使用 keytool -genkey 命令生成证书:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字。test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径。36500是证书的有效期,表示 100 年有效期,单位为天。
执行上述命令后,系统会提示输入一系列信息:
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,回车
Enter key password for <testalias>
(RETURN if same as keystore password): // 确认证书密码与证书文件密码一样,直接回车
运行完上述命令后,会在指定路径生成证书文件,例如 D:\test.keystore。
注意:信息填写要规范,乱填可能会影响应用上架应用市场。
查看证书信息
可以使用以下命令查看证书信息:
keytool -list -v -keystore test.keystore
输入密码后,会输出以下格式的信息:
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: test
Creation date: 2019-10-28
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Serial number: 7dd12840
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119
Certificate fingerprints:
MD5: F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5
SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7
SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
签名注意事项
- 云端打包默认会添加 V1/V2 签名。已知 V1 签名不支持 2048 位的 DSA 算法,使用 2048-bit DSA key 云端打包可能会失败。
- 解决方法:
- 第一种方法:重新生成证书,在生成证书命令中添加
-keyalg RSA参数指定使用 RSA 算法。 - 第二种方法:设置
minSdkVersion大于等于 24,因为 V2 签名需要 Android 7 及以上设备支持。
- 第一种方法:重新生成证书,在生成证书命令中添加
其他资源
通过以上步骤,您可以在 Windows 平台上成功生成并查看 Android 应用的签名证书。
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小朱
评论
隐私政策
0/500
滚动到此处加载评论...


