Expo构建Android项目未导入google-services插件致Firebase初始化失败
解决Expo + react-native-firebase的"No Firebase App '[DEFAULT]'"错误
问题核心原因
这个错误本质是Firebase初始化流程不完整——哪怕用react-native-firebase,底层仍依赖Google Services插件完成Firebase配置的注入。你发现的apply plugin: 'com.google.gms.google-services'缺失,是因为Expo在某些场景下(比如手动修改过配置、缓存残留)不会自动把这个插件添加到build.gradle里,而googleServicesFile仅负责指定配置文件路径,没法自动补全插件引用。
为什么重建项目能解决?
Expo初始化新项目时,会根据app.json里的googleServicesFile配置自动完成以下操作:
- 在Android项目根目录的
build.gradle中添加Google Services的classpath依赖 - 在app模块的
build.gradle末尾补全apply plugin: 'com.google.gms.google-services'语句 - 自动同步Gradle配置,确保Firebase SDK能正确读取配置文件并初始化默认App
旧项目大概率是中途修改配置后缓存未清理,导致Expo的自动配置流程没触发,才出现插件引用缺失的问题。
手动修复步骤(无需重建项目)
以后再遇到类似情况,按以下步骤手动补全即可:
- 打开Android项目根目录下的
build.gradle,确保dependencies块包含Google Services插件的classpath:
dependencies { // 其他依赖保留 classpath 'com.google.gms:google-services:4.3.15' // 版本可参考Firebase官方文档调整 }
- 打开
android/app/build.gradle,在文件末尾添加:
apply plugin: 'com.google.gms.google-services'
- 运行
expo prebuild --clean清理缓存并重新生成Android项目文件 - 重启开发服务器,重新构建项目
参考配置示例
app.json中的Firebase配置
{ "expo": { "android": { "googleServicesFile": "./google-services.json", "package": "com.your.app.package" }, "plugins": [ "@react-native-firebase/app", "@react-native-firebase/auth" ] } }
项目根目录build.gradle关键配置
buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.3.1' classpath 'com.google.gms:google-services:4.3.15' } }
app模块build.gradle末尾配置
// 其他原有配置保留 apply plugin: 'com.google.gms.google-services'
内容的提问来源于stack exchange,提问作者Miguel Kulisic
相关产品推荐
相关产品推荐

