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

如何配置正确keystore正常运行Expo EAS Build安卓构建

问题根因

EAS Build和旧版经典expo build的凭证管理逻辑完全独立:首次运行EAS生产构建时,默认会自动生成一套全新的Android签名密钥,不会自动复用你之前在经典构建流程里绑定、已经提交给Google Play存档的旧keystore,最终构建出的AAB签名SHA1和Google Play侧记录的期望值不符,就会抛出该签名错误。

修复步骤
  1. 拉取项目原有有效签名凭证
    如果你之前的上线包都是通过经典expo build生成的,直接在项目根目录执行以下命令,就能拉取到项目历史绑定的合法keystore:
expo fetch:android:keystore

命令执行完成后,会自动下载keystore文件到本地,同时终端会输出三个核心凭证信息:Keystore password、Key alias、Key password,把这些信息和keystore文件存储路径记录好。

  1. 给EAS绑定原有合法keystore
    在项目根目录执行EAS凭证配置命令:
eas credentials

按照终端交互提示依次操作:

  • 选择对应生产环境的Android构建配置
  • 选择Keystore: Manage everything needed to build your project选项
  • 先删除EAS之前自动生成的无效keystore(如果之前跑过EAS构建生成过新密钥的话)
  • 选择Set up an existing keystore选项
  • 按提示上传第一步下载的keystore文件,依次输入之前记录的keystore密码、密钥别名、密钥密码,完成凭证绑定。
  1. 校验签名后重新构建提交
    绑定完成后重新执行EAS生产构建,拿到AAB产物后可以先在本地校验签名是否匹配,执行命令:
keytool -printcert -jarfile 你的AAB构建产物本地路径.aab

对比输出的SHA1值和Google Play后台记录的上传证书SHA1完全一致后,再提交发布,就不会触发签名不匹配的报错。

注意事项

已经正式上线Google Play的应用,后续所有版本的上传包必须使用和首次上线一致的上传密钥签名,一旦错用新密钥就会直接被Google Play拒审,无法正常发布更新。
如果不慎遗失了原有keystore,无法通过expo fetch:android:keystore拉取到有效凭证,只能通过Google Play控制台提交密钥重置申请,官方审核通过后才能使用新密钥上传版本。

内容的提问来源于stack exchange,提问作者Gianni Guigaouri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:33:21