Flutter应用发布AAB包时Firebase Phone Auth无法正常工作求助
排查AAB包下Firebase Phone Auth失效的关键点
针对你遇到的APK正常但AAB发布到Google Play后Firebase Phone Auth失效的问题,以下是最容易遗漏的几个配置点:
添加Google Play应用签名密钥的指纹到Firebase
当使用Google Play应用签名时,Google会替换你上传AAB时使用的本地发布密钥,此时Firebase验证的是Google Play生成的应用签名密钥的指纹,而非你本地的发布密钥指纹。操作步骤:- 登录Google Play控制台,进入目标应用 → 「应用签名」页面
- 复制页面内的SHA-1和SHA-256指纹
- 进入Firebase控制台项目 → 「项目设置」→ 「应用」→ 「添加指纹」,将复制的指纹添加进去
确认ProGuard/R8混淆规则
AAB构建默认启用R8混淆,若未配置正确规则,可能破坏Firebase Auth、SafetyNet或Play Integrity的核心类。需在proguard-rules.pro中添加以下规则:# Firebase Auth 相关 -keep class com.google.firebase.auth.** { *; } -keep class com.google.firebase.components.** { *; } # Play Integrity/SafetyNet 相关 -keep class com.google.android.gms.safetynet.** { *; } -keep class com.google.android.gms.playintegrity.** { *; } -keep class com.google.android.gms.tasks.** { *; }验证API密钥的权限与限制
检查AndroidManifest中配置的SafetyNet API密钥:- 登录Google Cloud Console找到该API密钥
- 确认已启用SafetyNet Attestation API和Play Integrity API
- 确认密钥的限制条件(包名、SHA-1)包含Google Play应用签名密钥的SHA-1,以及目标应用的包名
确认Firebase Phone Auth的基础配置
进入Firebase控制台「Authentication」→「登录方法」,确保:- 「电话号码」登录方式已启用
- 未设置不必要的区域限制,导致测试区域无法正常使用
内容的提问来源于stack exchange,提问作者Manzar Gulzar
相关产品推荐
相关产品推荐

