使用flutterfire configure配置Flutter项目时遇输入意外结束错误
解决FlutterFire Configure Android平台JSON解析异常问题
问题描述
在Flutter项目中执行flutterfire configure命令时,仅选择iOS平台可正常完成配置,同时配置Android平台时触发JSON解析异常,具体报错信息如下:
% flutterfire configure i Found 1 Firebase projects. ✔ Select a Firebase project to configure your Flutter application with · //////////// (////////) ✔ Which platforms should your configuration support (use arrow keys & space to select)? · android, ios i Firebase android app com./////./// registered. i Firebase ios app com./////./// registered. Unhandled exception: FormatException: Unexpected end of input (at character 1) ^ #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1383:5) #1 _ChunkedJsonParser.close (dart:convert-patch/convert_patch.dart:501:7) #2 _parseJson (dart:convert-patch/convert_patch.dart:36:10) #3 JsonDecoder.convert (dart:json.dart:612:36) #4 FirebaseAndroidOptions.projectIdFromFileContents (package:flutterfire_cli/src/firebase/firebase_android_options.dart:29:29) #5 FirebaseAndroidGradlePlugins.applyGoogleServicesPlugin (package:flutterfire_cli/src/firebase/firebase_android_gradle_plugins.dart:101:50) <asynchronous suspension> #6 FirebaseAndroidGradlePlugins.apply (package:flutterfire_cli/src/firebase/firebase_android_gradle_plugins.dart:240:5) <asynchronous suspension>
解决方案
校验并替换
google-services.json文件
报错核心是CLI无法解析Android配置文件,大概率是android/app/google-services.json为空或损坏。前往Firebase控制台找到对应Android应用,重新下载完整的google-services.json,替换项目中同名文件。清理并重装FlutterFire CLI
执行以下命令清理缓存并更新CLI:dart pub cache clean dart pub global activate flutterfire_cli完成后重新运行
flutterfire configure。验证Android项目配置一致性
- 确保Firebase控制台注册的Android应用包名,与项目
android/app/src/main/AndroidManifest.xml中的package属性完全匹配; - 检查
android/build.gradle中是否添加Google服务插件依赖:dependencies { classpath 'com.google.gms:google-services:4.4.0' // 可使用最新稳定版本 } - 确认
android/app/build.gradle末尾添加插件引用:apply plugin: 'com.google.gms.google-services'
- 确保Firebase控制台注册的Android应用包名,与项目
手动完成Firebase配置(绕过CLI)
如果CLI问题持续,可手动配置:- 将下载好的
google-services.json放入android/app目录; - 在
pubspec.yaml中添加依赖:dependencies: firebase_core: ^2.24.0 // 版本按需选择 - 执行
flutter pub get; - 在
main.dart中初始化Firebase:import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold(body: Center(child: Text('Firebase Test'))), ); } }
- 将下载好的
检查项目目录权限
确保当前用户对项目的android目录有读写权限,避免CLI无法读取或写入配置文件。
内容的提问来源于stack exchange,提问作者bpatden
相关产品推荐
相关产品推荐

