Flutter更新后出现FirebaseCore initializeCore方法未定义错误
Flutter更新后Firebase Core初始化错误解决办法
问题详情
更新Flutter后出现以下Firebase Core初始化编译错误:
在sdk gphone64 arm64设备上以调试模式启动lib/main.dart... : 错误:类'FirebaseCoreHostApi'中未定义方法'initializeCore'。 - 'FirebaseCoreHostApi'来自包'firebase_core_platform_interface/src/pigeon/messages.pigeon.dart'('../../.pub-cache/hosted/pub.dev/firebase_core_platform_interface-4.5.3/lib/src/pigeon/messages.pigeon.dart')。 尝试将名称更正为现有方法的名称,或者定义一个名为'initializeCore'的方法。 List<PigeonInitializeResponse?> apps = await api.initializeCore(); ^^^^^^^^^^^^^^ : 错误:类'FirebaseCoreHostApi'中未定义方法'optionsFromResource'。 - 'FirebaseCoreHostApi'来自包'firebase_core_platform_interface/src/pigeon/messages.pigeon.dart'('../../.pub-cache/hosted/pub.dev/firebase_core_platform_interface-4.5.3/lib/src/pigeon/messages.pigeon.dart')。 尝试将名称更正为现有方法的名称,或者定义一个名为'optionsFromResource'的方法。 final options = await api.optionsFromResource(); ^^^^^^^^^^^^^^^^^^^ : 错误:未定义名称'_binaryMessenger'。 binaryMessenger: _binaryMessenger); ^^^^^^^^^^^^^^^^ : 错误:未定义名称'codec'。 'dev.flutter.pigeon.FirebaseCoreHostApi.initializeCore', codec, ^^^^^ : 错误:未定义名称'_binaryMessenger'。 binaryMessenger: _binaryMessenger); ^^^^^^^^^^^^^^^^ : 错误:未定义名称'codec'。 'dev.flutter.pigeon.FirebaseCoreHostApi.optionsFromResource', codec, ^^^^^ Target kernel_snapshot失败:异常 FAILURE:构建因异常而失败。 * 位置: 脚本'/Users/iberkeugur/development/flutter/packages/flutter_tools/gradle/flutter.gradle'第1151行 * 错误原因: 任务':app:compileFlutterBuildDebug'执行失败。 > 进程'/Users/iberkeugur/development/flutter/bin/flutter'以非零退出值1结束 * 建议: > 使用--stacktrace选项获取堆栈跟踪。 > 使用--info或--debug选项获取更多日志输出。 > 使用--scan选项获取完整洞察。 * 获取更多帮助:https://help.gradle.org 构建在3秒内失败 异常:Gradle任务assembleDebug以退出代码1失败 退出
Flutter环境信息
% flutter doctor -v [✓] Flutter(稳定通道,3.7.6版本,运行在macOS 13.1 22C65 darwin-arm64,区域设置en-TR) • Flutter版本3.7.6,位于/Users/iberkeugur/development/flutter的稳定通道 • Framework修订版本12cb4eb7a0(20小时前),2023-03-01 10:29:26 -0800 • Engine修订版本ada363ee93 • Dart版本2.19.3 • DevTools版本2.20.1 [✓] Android工具链 - 开发Android设备(Android SDK版本33.0.1) • Android SDK位于/Users/iberkeugur/Library/Android/sdk • 平台android-33,build-tools 33.0.1 • Java二进制文件位于:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java版本OpenJDK Runtime Environment(build 11.0.13+0-b1751.21-8125866) • 所有Android许可证已接受。 [✓] Xcode - 开发iOS和macOS应用(Xcode 14.2) • Xcode位于/Applications/Xcode.app/Contents/Developer • Build版本14C18 • CocoaPods版本1.11.3 [✓] Chrome - 开发Web应用 • Chrome位于/Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio(版本2021.3) • Android Studio位于/Applications/Android Studio.app/Contents • Flutter插件已安装 • Dart插件已安装 • Java版本OpenJDK Runtime Environment(build 11.0.13+0-b1751.21-8125866) [✓] VS Code(版本1.76.0) • VS Code位于/Applications/Visual Studio Code.app/Contents • Flutter扩展版本3.60.0 [✓] 已连接设备(4台可用) • sdk gphone64 arm64(移动设备)• emulator-5554 • android-arm64 • Android 13(API 33)(模拟器) • iPhone 14 Pro Max(移动设备) • 24497C01-96C2-4084-9240-7FB8838E76E8 • ios • com.apple.CoreSimulator.SimRuntime.iOS-16-2(模拟器) • macOS(桌面设备) • macos • darwin-arm64 • macOS 13.1 22C65 darwin-arm64 • Chrome(Web设备) • chrome • web-javascript • Google Chrome 110.0.5481.177 [✓] HTTP主机可用性 • 所有必需的HTTP主机均可用 • 未发现问题!
项目依赖配置(pubspec.yaml)
environment: sdk: '>=2.19.3 <3.0.0' dependencies: cupertino_icons: ^1.0.2 firebase_core: ^2.7.0 flutter: sdk: flutter dev_dependencies: flutter_lints: ^2.0.0 flutter_test: sdk: flutter
解决步骤
该错误核心是Firebase核心依赖的底层接口版本与更新后的Flutter版本不兼容,导致Pigeon通信层方法缺失,按以下步骤处理:
清理项目缓存并重新拉取依赖
- 执行命令清理项目:
flutter clean - 删除项目根目录下的
pubspec.lock文件 - 重新获取依赖:
flutter pub get
- 执行命令清理项目:
强制指定兼容的Firebase接口版本
在pubspec.yaml的dependencies中添加firebase_core_platform_interface的指定版本,确保和firebase_core: ^2.7.0兼容(推荐版本为^4.8.0):dependencies: cupertino_icons: ^1.0.2 firebase_core: ^2.7.0 firebase_core_platform_interface: ^4.8.0 flutter: sdk: flutter添加后再次执行
flutter pub get升级Firebase核心依赖到适配版本
如果上述步骤无效,尝试将firebase_core升级到更适配Flutter 3.7.6的版本(比如^2.15.0),修改pubspec.yaml后执行:flutter pub upgrade清理Android Gradle缓存
- 进入项目的
android目录 - 执行命令:
./gradlew clean - 返回项目根目录重新运行项目:
flutter run
- 进入项目的
内容的提问来源于stack exchange,提问作者Berke Uğur
相关产品推荐
相关产品推荐

