Expo eject后Android .keystore报错及Play Store签名不匹配问题咨询
问题1:构建时signReleaseBundle失败,报密钥填充错误
该报错的核心原因是你创建新keystore时,keystore存储密码和alias对应的独立密钥密码设置不一致,你仅保证了存储密码和Expo生成的密码一致,但alias的密钥密码是单独设置项,两者不匹配就会触发解密填充错误。
你已经找到的解决方法是正确的:将keystore存储密码和alias密钥密码设置为相同即可正常构建出安装包。
问题2:Play Store提示签名密钥不匹配
是的,该报错就是更换keystore导致的,即便你换回Expo原始keystore仍报错,可以按以下步骤排查修复:
- 第一步:先校验你手中Expo原始keystore的指纹是否符合要求
执行命令keytool -list -v -keystore [Expo原始keystore文件路径] -alias [Expo keystore对应的alias名称],输入密码后查看输出的SHA1值,和Play Store报错提示要求的SHA1值做比对,确认两者是否完全一致。
注意:Expo托管生成的keystore默认alias为upload,不要误填你自己新生成keystore时用的自定义alias。 - 第二步:如果指纹匹配,排查本地构建配置问题
- 确认
gradle.properties中配置的keystore文件路径、alias名称、两组密码,完全对应你手中的Expo原始keystore,没有拼写错误 - 彻底清理缓存后重新构建:
cd android ./gradlew clean rm -rf ~/.gradle/caches/ ./gradlew bundleRelease - 构建完成后校验aab包的签名指纹,执行命令
keytool -printcert -jarfile [生成的aab文件路径],确认输出的SHA1和Play Store要求的一致后再上传
- 确认
- 第三步:如果指纹确实不匹配,申请重置Play Store签名密钥
如果你确认手中的Expo原始keystore和Play Store要求的指纹对不上,可以直接进入Google Play Console的「应用签名」页面,提交签名密钥重置申请,按要求上传新签名证书的.pem文件,官方审核通过后就可以用新的keystore签名上传了。
导出.pem文件的命令:keytool -export -rfc -keystore [你的keystore文件路径] -alias [你的alias名称] -file upload_certificate.pem
内容的提问来源于stack exchange,提问作者Preetika
相关产品推荐
相关产品推荐

