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

FireAuth手机验证发布后失效,已添加SHA密钥仍报错求助

Firebase发布版手机验证失败问题排查与解决

核心错误分析

从日志来看,关键故障点集中在:

  • FirebearCryptoHelper加密模块初始化失败,无法获取公钥,导致reCAPTCHA加密密钥生成中断
  • 错误码17093提示缺少有效应用标识,SafetyNet与reCAPTCHA验证均未通过

解决方案

1. 确认发布版签名的SHA密钥已正确配置

  • 用keytool命令导出发布密钥库的SHA-1和SHA-256指纹:
    keytool -list -v -keystore 你的发布密钥库路径.jks -alias 你的密钥别名
    
  • 将输出的完整SHA指纹(冒号分隔的十六进制字符串)添加到Firebase控制台「项目设置」→「对应Android应用」→「SHA证书指纹」中,务必同时添加debug和release版本的指纹。

2. 更新google-services.json配置文件

添加完SHA指纹后,在Firebase控制台重新下载google-services.json,替换项目app模块下的旧文件,再重新构建发布版APK/AAB。

3. 添加ProGuard/R8混淆规则

发布版混淆可能破坏Firebase和reCAPTCHA的核心逻辑,在proguard-rules.pro中添加以下规则:

# Firebase Auth核心类
-keep class com.google.firebase.auth.** { *; }
# reCAPTCHA与加密模块
-keep class com.google.recaptcha.** { *; }
-keep class com.google.crypto.tink.** { *; }
# SafetyNet验证相关
-keep class com.google.android.gms.safetynet.** { *; }

4. 验证应用包名与签名一致性

  • 确保发布版应用的包名和Firebase项目中注册的包名完全一致(包括大小写)。
  • 确认发布时使用的签名密钥库与生成SHA指纹时的密钥库为同一个,避免用错签名文件。

5. 检查SafetyNet服务可用性

  • 测试设备需安装最新版Google Play Services。
  • 国内设备需保证能正常访问Google服务,否则SafetyNet验证会失败,进而导致reCAPTCHA无法正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:50:26