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

Expo React Native项目Android端调用firebase.app()报错求助

解决React Native Expo项目中Firebase模块未安装的Android错误

核心问题分析

你遇到的错误本质是Android项目未正确集成@react-native-firebase的原生模块,或是当前Expo工作流不兼容该包的手动配置方式。

分场景解决方案

场景1:使用Expo Managed Workflow(未eject/未prebuild)

@react-native-firebase系列包依赖原生模块手动配置,而Managed Expo不支持这类操作,需改用Expo官方维护的Firebase集成方案:

  • 卸载现有@react-native-firebase包:
    npm uninstall @react-native-firebase/app @react-native-firebase/firestore
    
  • 安装Expo官方Firebase包:
    npx expo install expo-firebase-app expo-firebase-firestore
    
  • 按Expo文档完成Firebase配置(无需手动修改Android原生文件),重启项目即可。

场景2:使用Expo Bare Workflow(已eject/已prebuild)

若为裸工作流,需补全以下原生配置步骤:

  1. 完善MainApplication.java配置
    除导入包外,需在getPackages()方法中注册模块:
    // 已有的导入语句
    import io.invertase.firebase.app.ReactNativeFirebaseAppPackage;
    
    @Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // 添加此行注册包
      packages.add(new ReactNativeFirebaseAppPackage());
      return packages;
    }
    
  2. 检查settings.gradle引用
    在android/settings.gradle中添加两个包的路径配置:
    include ':@react-native-firebase_app'
    project(':@react-native-firebase_app').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-firebase/app/android')
    
    include ':@react-native-firebase_firestore'
    project(':@react-native-firebase_firestore').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-firebase/firestore/android')
    
  3. 配置Google Services插件
    • 在android/build.gradle的dependencies块中添加:
      classpath 'com.google.gms:google-services:4.3.15'
      
    • 在android/app/build.gradle末尾添加:
      apply plugin: 'com.google.gms.google-services'
      
  4. 清理缓存并重建项目
    # 清理gradle缓存
    cd android && ./gradlew clean
    # 返回根目录重新安装依赖
    cd .. && rm -rf node_modules package-lock.json
    npm install
    # 清除缓存后重启项目
    expo start --clear
    
  5. 确认配置文件存在
    确保从Firebase控制台下载的google-services.json已放置在android/app目录下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:03:25