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

Android AAB包经Firebase分发时Google登录报10错误咨询

问题根因

Google登录返回10错误码对应DEVELOPER_ERROR,核心触发逻辑是:运行中的应用签名证书SHA-1指纹,与Google Cloud/Firebase控制台中对应包名配置的合法签名指纹列表不匹配,导致OAuth校验被拒绝。你遇到的不同渠道表现差异,完全是不同分发链路对AAB包的重签机制导致,和本地构建配置本身无关。

先明确各场景的签名逻辑差异,就能对应上所有现象:

  • 本地执行gradlew clean assembleRelease构建的APK,使用你本地配置的release签名密钥,该密钥的SHA-1已在Google后台配置,因此直接本地安装时登录正常。
  • AAB上传至Play Store内部测试渠道时,Play会使用你在Play Console配置的官方App Signing密钥,对AAB拆分生成的APK重签,该签名的SHA-1也已经在你上架正式版时配置到后台,因此从Play渠道下载的包登录正常。
  • AAB上传至Firebase App Distribution(以下简称FAD)时,FAD不会直接下发原始AAB文件,会在服务端将AAB拆分为可直接安装的APK,默认配置下FAD会使用平台自带的临时测试密钥对生成的APK重签,这个临时密钥的SHA-1不在你Google后台的允许列表中,因此会触发10错误。

注:你问题中写的构建命令bundeRelease存在拼写错误,正确命令为bundleRelease,该笔误不影响本次问题的触发逻辑。

解决方案

按优先级从高到低可选择以下方案:

  • 方案1:配置FAD使用自定义签名密钥处理AAB
    上传AAB到FAD时,在分发设置页找到签名配置项,关闭默认的自动测试签名选项,上传你本地打release包使用的keystore文件,填入对应密钥别名、密钥密码、keystore密码,让FAD拆分AAB生成APK时使用你自己的release密钥签名。该方案下生成的安装包签名和你本地构建的APK完全一致,不需要额外修改Google后台配置,登录功能可直接正常运行,长期稳定性最高。
  • 方案2:将FAD临时签名的SHA-1加入后台允许列表
    先从FAD下载一个触发登录错误的APK安装包,在本地执行以下命令提取其签名SHA-1:
    keytool -printcert -jarfile 从FAD下载的APK文件本地路径.apk
    
    将命令输出的SHA1值,分别添加到Firebase控制台对应Android应用的签名指纹列表、Google Cloud控制台对应OAuth2.0客户端ID的允许签名列表中,等待10-15分钟配置生效后即可正常登录。
    注意:FAD的默认临时测试签名不是永久固定的,若后续重建Firebase应用、调整FAD项目配置,该签名可能发生变化,需要重新提取配置,维护成本高于方案1。
  • 方案3:FAD测试分发直接上传APK包
    如果内部测试阶段不需要使用AAB的动态交付特性,直接将本地assembleRelease构建出的、已用自有release密钥签好名的APK上传到FAD分发即可。FAD不会对已经完成签名的APK做重签操作,安装包签名和你本地直接安装的APK完全一致,Google登录可正常运行,操作成本最低。

内容的提问来源于stack exchange,提问作者dev.farmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 03:51:28