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

构建APK后Firebase手机号认证失效问题求助

解决Expo EAS构建后Firebase手机号认证reCAPTCHA失效问题

核心排查与修复步骤

1. 补充EAS构建专属的签名指纹

开发环境使用本地调试签名,EAS构建用的是Expo托管的签名密钥,二者指纹不同,必须将EAS生成的指纹添加到Firebase项目:

  • 运行 eas credentials 获取当前构建对应的Android SHA-1/SHA-256、iOS团队ID关联的签名指纹
  • 登录Firebase控制台,进入项目设置→应用→对应平台,添加获取到的指纹,保存后重新触发构建

2. 关闭测试模式并检查reCAPTCHA配置

  • 确认代码中已关闭测试模式:firebase.auth().settings.appVerificationDisabledForTesting = false(生产环境必须禁用测试模式)
  • 进入Firebase控制台认证→登录方法→手机号,检查reCAPTCHA验证已启用,且允许当前应用的包名(Android)/Team ID(iOS)访问

3. 确保Firebase配置文件在构建时正确注入

  • Android:确认google-services.json放置在android/app/目录,且android/build.gradle、app/build.gradle已正确配置Google Services插件
  • iOS:确认GoogleService-Info.plist已添加到Xcode项目目标,或通过expo prebuild完成配置同步
  • 运行eas build:configure重新同步构建配置,避免构建时遗漏Firebase文件

4. 检查网络权限配置

  • Android:确保AndroidManifest.xml包含互联网权限:
    <uses-permission android:name="android.permission.INTERNET" />
    
  • iOS:检查Info.plist未限制HTTPS请求(默认允许,若有自定义ATS规则需确保兼容reCAPTCHA域名)

5. 排查版本兼容性

  • 确认@react-native-firebase/app和@react-native-firebase/auth版本与当前Expo SDK兼容,避免版本冲突
  • 尝试更新到最新兼容版本:
    npm install @react-native-firebase/app@latest @react-native-firebase/auth@latest
    

验证流程

完成配置后执行:

  • 清理构建缓存:eas build --clear-cache
  • 重新构建:eas build --platform android/ios
  • 安装构建包测试手机号认证流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:15:43