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

React Native中Google服务配置错误及数据库写入失败求助

解决Firebase实时数据库无法写入的问题

问题根源

你手动修改google-services.json中的包名后,虽然解决了编译错误,但Firebase控制台中注册的Android应用包名仍为com.AbcXyz,而当前应用实际使用的包名是com.abcxyz,两者不匹配导致Firebase服务权限验证失败,因此无法向实时数据库写入数据。

解决方案

1. 统一包名配置

有两种方式解决包名不一致的问题:

  • 方式一:恢复原包名
    • 打开android/app/src/main/AndroidManifest.xml,将package="com.abcxyz"修改回com.AbcXyz
    • 替换android/app/google-services.json为最初从Firebase控制台下载的对应com.AbcXyz包名的配置文件(如果已丢失,可去Firebase控制台对应项目的设置页面重新下载)
  • 方式二:在Firebase新增匹配包名的应用
    • 登录Firebase控制台,进入你的AbcXyz项目
    • 进入「项目设置」→「添加应用」,选择Android平台
    • 输入包名com.abcxyz,完成配置后下载新的google-services.json,替换到android/app/目录下

2. 检查实时数据库规则

确认数据库规则没有限制读写权限(开发阶段可临时开放测试,上线前必须调整为安全规则):

  • 进入Firebase控制台的实时数据库页面,切换到「规则」标签
  • 将规则临时修改为以下内容测试:
    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }
    
  • 注意:开放规则仅用于开发测试,正式发布前需配置基于用户身份验证的规则,避免数据泄露

3. 清理项目缓存并重建

执行以下命令清理Gradle缓存,避免旧配置残留:

cd android && ./gradlew clean
cd .. && npx react-native run-android

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:24:57