如何修改React Native应用的SHA1值以解决Google Play签名密钥错误问题
Your Android App Bundle is signed with the wrong key. Ensure that your App Bundle is signed with the correct signing key and try again. Your app bundle is expected to be signed with the certificate with fingerprint:
解决步骤
- 第一步:校验原有keystore的指纹是否匹配
运行如下命令导出你持有原有keystore的签名指纹,对比和Google Play报错中要求的指纹是否一致:keytool -list -v -keystore <your-keystore-file-path> -alias <your-keystore-alias>
输入keystore密码后,在输出的「证书指纹」段落找到SHA1值,和报错提示的预期值做对比。 - 第二步:调整打包签名配置
如果第一步的SHA1和预期值一致,说明你重构后的项目打包签名配置错误,需要修改你项目中的签名配置:- 安卓原生项目检查模块级
build.gradle文件中的signingConfigs配置,确认keystore路径、别名、keystore密码、密钥密码四个参数和你持有的原有凭证完全一致 - 跨端项目(Flutter/React Native等)检查对应框架的签名配置项,确保调用的是正确的原有keystore文件
配置修改完成后,重新构建签名版AAB/APK包,可再次用keytool命令校验新包的签名:
校验AAB签名命令:jarsigner -verify -verbose -certs <your-aab-file-path>
校验APK签名命令:apksigner verify --print-certs <your-apk-file-path>
- 安卓原生项目检查模块级
- 第三步:处理Google Play应用签名托管场景
如果你之前开启了Google Play的应用签名托管服务,上传包使用的是独立的上传密钥而非最终分发签名密钥,可按如下操作重置上传密钥:- 运行如下命令导出原有keystore的公钥证书文件:
keytool -export -rfc -keystore <your-keystore-file-path> -alias <your-keystore-alias> -file upload_certificate.pem - 进入Google Play控制台对应应用的「设置 > 应用完整性」页面,找到上传密钥重置入口,提交导出的
upload_certificate.pem文件申请重置 - 等待Google审核通过(通常需要2个工作日左右)后,用原有keystore签名的包即可正常上传
- 运行如下命令导出原有keystore的公钥证书文件:
- 额外注意项:
- 上传的应用包名必须和Google Play上原有应用的包名完全一致
- 上传包的版本号必须大于线上已发布的最新版本号
内容的提问来源于stack exchange,提问作者AKHIL OMAR
相关产品推荐
相关产品推荐

