从JKS生成同签名Keystore?解决Google Play SHA1验证及AAB打包问题
解决JKS转同密钥Keystore及AAB签名问题
完全可以从正确的JKS文件生成同密钥的Keystore文件,直接用
keytool命令转换格式即可,步骤如下:- 确认JKS文件信息:先验证你的JKS文件的密钥信息是否正确,执行命令:
keytool -list -v -keystore your-file.jks
输入JKS的存储密码后,会显示密钥别名(alias)和SHA1值,确认和Google Play要求的一致。 - 转换JKS为PKCS12格式Keystore:执行以下命令生成符合要求的.keystore文件:
keytool -importkeystore -srckeystore your-file.jks -destkeystore my-upload-key.keystore -deststoretype PKCS12
按提示输入源JKS的存储密码,然后设置目标Keystore的存储密码,若密钥别名的密码和存储密码不同,还需要输入别名密码。 - 验证新Keystore的SHA1:生成后执行命令确认SHA1值正确:
keytool -list -v -keystore my-upload-key.keystore
- 确认JKS文件信息:先验证你的JKS文件的密钥信息是否正确,执行命令:
另外,其实生成AAB不需要非得用.keystore格式,直接在Gradle配置里使用JKS文件签名即可,示例配置如下(在app/build.gradle中):
android { signingConfigs { release { storeFile file("your-file.jks") storePassword "你的JKS存储密码" keyAlias "你的密钥别名" keyPassword "你的密钥密码" } } buildTypes { release { signingConfig signingConfigs.release // 其他构建配置 } } }
配置后直接构建release版AAB即可,无需转换格式。
内容的提问来源于stack exchange,提问作者baykonur
相关产品推荐
相关产品推荐

