Expo应用上架Google Play后谷歌授权失效问题排查求助
Expo 应用经 Google Play 内部分发渠道后谷歌授权失效 可落地排查方案
核心问题定位
你目前完成的配置仅覆盖了Google Play二次重签名的校验环节,完全没有覆盖Expo构建流程本身的签名校验链路,这是同类问题占比80%以上的核心诱因:
- Google Play 内部测试、内部应用共享渠道的签名链路分两段:你上传的AAB自带的上传签名,和Play后台自动生成的应用签名,两个签名对应的SHA-1都需要被谷歌授权接口识别
- 如果仅配置Play生成的应用签名SHA,当通过内部应用共享渠道直接分发未经过Play重签名的构建包时,会因为签名不匹配直接导致授权失败
Expo环境下零成本获取全量签名SHA值
不需要安装Android Studio,直接通过Eas CLI即可拉取项目所有证书指纹,执行以下命令:
# 登录对应Expo账号 eas login # 调取项目凭证配置 eas credentials
执行后选择Android平台,依次查看production、preview渠道的证书详情,直接复制所有相关SHA-1指纹,包含:
- Expo托管或你自定义上传的keystore的SHA-1(即AAB的上传签名SHA)
- 证书对应的SHA-256值(部分授权校验场景需要)
无遗漏配置流程
- 打开Firebase控制台对应Android应用的设置页,把刚才查到的所有SHA-1值全部添加到指纹列表中,不要仅配置Play侧的单一SHA
- 配置完成后等待20分钟左右(匹配Firebase配置的缓存同步延迟),重新下载最新的google-services.json
- 打开下载的json文件,检查
client节点下的oauth_client列表,确认存在对应证书的客户端配置,如果缺失说明之前的配置没有同步成功 - 检查Expo项目的插件配置:如果集成了谷歌登录能力,需要在
app.config.js/app.json中显式配置对应包名的webClientId,不要仅依赖google-services.json的自动注入——Eas构建的release包中,自动注入的字段经常出现路径匹配偏差
常见认知误区澄清
- 你怀疑的debug、release密钥不匹配问题,和Play渠道分发的授权失效没有直接关联:debug密钥仅用于本地开发测试的授权校验,只要不把debug安装包上传到Play渠道,完全不需要额外用Android Studio生成debug密钥做配置
- 不要混淆上传签名和Play应用签名:在Play控制台的「应用完整性」板块,会同时展示上传密钥和应用签名两组证书,两组对应的SHA都需要同步加到Firebase,缺任何一个都会导致授权校验失败
内容的提问来源于stack exchange,提问作者ybkim
相关产品推荐
相关产品推荐

