Flutter项目初始化firebase_options.dart遇FirebaseError: Unable to parse JSON错误求助
Flutter Firebase推送通知初始化firebase_options.dart错误解决方案
核对Firebase项目配置
- 重新从Firebase控制台下载对应平台的配置文件:Android端将
google-services.json放在android/app目录,iOS端将GoogleService-Info.plist放在Runner目录,确保文件未被修改、路径正确。 - 重新执行
flutterfire configure命令,选择正确的Firebase项目和目标平台,确认生成的firebase_options.dart内容与控制台配置匹配。
- 重新从Firebase控制台下载对应平台的配置文件:Android端将
检查依赖版本兼容性
- 在
pubspec.yaml中使用与当前Flutter SDK兼容的firebase_core和firebase_messaging版本,示例配置:firebase_core: ^2.24.2 firebase_messaging: ^14.7.11 - 执行
flutter clean清理项目缓存,再运行flutter pub get拉取依赖,之后重启IDE。
- 在
根据firebase-debug.log定位问题
从日志中提取关键错误信息,针对性解决:- 若提示
Missing google-services.json:检查Android配置文件是否存在、内容是否完整,或重新下载替换。 - 若提示
Invalid API key:对比firebase_options.dart中的API密钥与Firebase控制台中的值是否一致,不一致则重新生成配置文件。 - iOS平台错误:在
Info.plist中添加推送权限及后台模式配置:<key>NSRemoteNotificationUsageDescription</key> <string>接收推送通知获取最新消息</string> <key>UIBackgroundModes</key> <array> <string>remote-notification</string> </array> - Android平台错误:在
AndroidManifest.xml中注册消息服务:<service android:name=".MyFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>
- 若提示
验证初始化代码
确保main.dart中Firebase初始化代码正确:void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(const MyApp()); }
内容的提问来源于stack exchange,提问作者Mohebbikhah
相关产品推荐
相关产品推荐

