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

Flutter集成Firebase遇PlatformException:无法加载FirebaseOptions资源

Flutter集成Firebase时出现PlatformException:无法从资源加载FirebaseOptions

问题详情

触发异常时的错误信息:

PlatformException (PlatformException(java.lang.Exception: Failed to load FirebaseOptions from resource. Check that you have defined values.xml correctly., Exception, Cause: null, Stacktrace: java.lang.Exception: Failed to load FirebaseOptions from resource. Check that you have defined values.xml correctly.
    at io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin.lambda$optionsFromResource$4$io-flutter-plugins-firebase-core-FlutterFirebaseCorePlugin(FlutterFirebaseCorePlugin.java:207)
    at io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin$$ExternalSyntheticLambda2.run(Unknown Source:4)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    at java.lang.Thread.run(Thread.java:1012)
, null))

核心问题:找不到values.xml文件,已提前调用Firebase.initializeApp(),并尝试过更新依赖、清理构建、多设备测试等常规操作。

解决方案

1. 手动创建并配置values.xml

如果android/app/src/main/res/values目录不存在,手动创建该目录,然后新建values.xml文件,填入以下内容(替换为你的Firebase项目真实参数):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="firebase_api_key" translatable="false">你的API_KEY</string>
    <string name="firebase_app_id" translatable="false">你的APP_ID</string>
    <string name="firebase_project_id" translatable="false">你的PROJECT_ID</string>
    <string name="firebase_storage_bucket" translatable="false">你的STORAGE_BUCKET</string>
    <string name="firebase_messaging_sender_id" translatable="false">你的SENDER_ID</string>
    <string name="firebase_measurement_id" translatable="false">你的MEASUREMENT_ID</string>
</resources>

参数可从Firebase控制台下载的google-services.json中提取:

  • firebase_api_key → client[0].api_key[0].current_key
  • firebase_app_id → client[0].client_info.mobilesdk_app_id
  • firebase_project_id → project_info.project_id
  • firebase_storage_bucket → project_info.storage_bucket
  • firebase_messaging_sender_id → project_info.project_number
  • firebase_measurement_id → client[0].services.analytics_service.analytics_property.tracking_id

2. 确保Google服务插件配置正确

  • 将下载的google-services.json放到android/app/目录下
  • 检查根目录build.gradle是否包含Google服务依赖:
    buildscript {
        dependencies {
            classpath 'com.google.gms:google-services:4.4.1'
        }
    }
    
  • 检查android/app/build.gradle末尾是否应用插件:
    apply plugin: 'com.google.gms.google-services'
    

3. 验证Firebase初始化代码

确保初始化代码正确加载配置,推荐使用默认平台配置:

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

如果手动构建FirebaseOptions,需确保参数与values.xml或google-services.json完全一致。

4. 深度清理构建缓存

执行以下操作彻底清理缓存后重新构建:

flutter clean
rm -rf android/.gradle
flutter pub get
flutter run

同时在Android Studio中点击「Sync Project with Gradle Files」按钮完成项目同步。

5. 确认包名匹配

检查Firebase控制台中添加的Android应用包名,与android/app/build.gradle里的applicationId完全一致,大小写、拼写都不能错。

内容的提问来源于stack exchange,提问作者mohammad-fawaz-cp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:42:38