You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Expo构建AAB上传Google Play签名密钥错误解决方案求助

React Native Expo AAB上传Google Play签名密钥不匹配解决方案

问题明确

上传AAB至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:
SHA1: E5:9A:50:AD:5E:95:42:EB:EE:1C:5A:88:AC:91:1A:7D:71:02:C7:DE
but the certificate used to sign the app bundle that you uploaded has fingerprint:
SHA1: 4C:EE:46:2F:4A:E7:CB:FC:C5:78:04:02:C9:2E:87:1E:D3:4B:90:51

更换新密钥库后问题依旧。

分步解决

1. 核对Google Play控制台的签名密钥类型

  • 打开Google Play控制台,进入目标应用 → 应用签名页面:
    • 若开启「Google Play应用签名」,需区分上传密钥和应用签名密钥:错误提示的期望指纹如果是「应用签名证书」的SHA1,只需确保上传包用「上传密钥」签名即可;如果是「上传密钥证书」的SHA1,必须用对应密钥签名。
    • 若未开启Google Play应用签名,期望指纹就是应用本身的签名密钥SHA1,直接核对本地密钥库即可。

2. 验证本地密钥库的SHA1指纹

用keytool命令查看本地密钥库的指纹:

keytool -list -v -keystore 你的密钥库路径.jks

输入密钥库密码后,找到SHA1字段,对比是否和Google期望的指纹一致。

3. 修正Expo项目的签名配置

Managed Workflow(纯Expo项目)

  • 打开app.json或app.config.js,检查android节点下的签名配置:
    "android": {
      "keystorePath": "./path/to/your-keystore.jks",
      "keystoreAlias": "你的密钥别名",
      "keystorePassword": "密钥库密码",
      "keyPassword": "密钥密码"
    }
    
    确保所有字段指向正确的密钥库文件。
  • 清除Expo构建缓存后重新构建AAB:
    expo r -c
    expo build:android -t app-bundle
    

Bare Workflow(原生混合项目)

  • 打开android/app/build.gradle,找到signingConfigs下的release配置:
    signingConfigs {
      release {
        storeFile file("你的密钥库路径.jks")
        storePassword "密钥库密码"
        keyAlias "你的密钥别名"
        keyPassword "密钥密码"
      }
    }
    
    确认配置正确后重新构建AAB:
    ./gradlew bundleRelease
    

4. 更换密钥库后的关键操作

如果是新生成的密钥库,必须先在Google Play控制台更新上传密钥:

  • 进入应用签名页面,点击「更换上传密钥」,用keytool生成CSR文件:
    keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
    keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
    
  • 将生成的CSR文件提交给Google,审核通过后再用新密钥签名上传AAB。
  • 注意:若丢失的是应用签名密钥,无法自行更换,需联系Google支持并提供应用所有权证明申请更换。

5. 验证最终AAB的签名

构建完成后,用apksigner验证AAB的签名指纹:

apksigner verify --print-certs app/release/app-release.aab

确认输出的SHA1指纹与Google期望的一致后,再上传至Google Play控制台。

内容的提问来源于stack exchange,提问作者Owais Bhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:44:58