Android应用生成SHA-256密钥遇阻:仅获MD5、SHA-1密钥怎么办?
我来帮你解决这个问题,你遇到的情况其实和JDK版本以及keytool的命令参数有关——JDK 7及更早版本的keytool默认不会显示SHA-256指纹,不过有好几种方法可以获取到它:
方法1:给现有命令加参数(不用升级JDK)
你之前的命令没有开启详细输出模式,JDK7的keytool默认只展示MD5和SHA-1。只要在命令里加上-v(verbose,详细模式)参数,就能看到SHA-256了:
C:\Program Files (x86)\Java\jdk1.7.0\bin>keytool -printcert -v -file C:\Users\vabs\Desktop\app-releaseSHA256Demo\META-INF\CERT.RSA
执行后,输出内容里会找到SHA256:开头的那一行,就是你要的密钥指纹。
方法2:直接从Android Studio获取(最省心)
如果你的项目在Android Studio里,这是最快的方式:
- 点击右上角的Gradle图标(大象形状的按钮)
- 展开你的项目节点 →
Tasks→android - 找到
signingReport选项,双击运行它 - 等运行完成后,在底部的Run窗口里,就能看到所有签名版本(debug、release)的MD5、SHA-1、SHA-256指纹,直接复制即可。
方法3:查看你的签名密钥库文件
如果你有自己的release签名密钥库(比如.keystore或.jks文件),可以直接用keytool查看它的详细信息:
keytool -list -v -keystore <你的密钥库文件路径> -alias <你的密钥别名>
输入密钥库的密码后,输出里就会包含SHA-256的指纹。同样,JDK7下记得加-v参数才能看到完整信息。
方法4:升级到JDK 8+(一劳永逸)
JDK 8及以上版本的keytool,默认执行keytool -printcert -file <CERT.RSA路径>时就会自动显示SHA-256指纹,不需要额外加参数。升级后再运行你原来的命令,就能看到想要的内容了。
内容的提问来源于stack exchange,提问作者VaibhavBhosale
相关产品推荐
相关产品推荐

