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

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通信层方法缺失,按以下步骤处理:

  1. 清理项目缓存并重新拉取依赖

    • 执行命令清理项目:flutter clean
    • 删除项目根目录下的pubspec.lock文件
    • 重新获取依赖:flutter pub get
  2. 强制指定兼容的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

  3. 升级Firebase核心依赖到适配版本
    如果上述步骤无效,尝试将firebase_core升级到更适配Flutter 3.7.6的版本(比如^2.15.0),修改pubspec.yaml后执行:flutter pub upgrade

  4. 清理Android Gradle缓存

    • 进入项目的android目录
    • 执行命令:./gradlew clean
    • 返回项目根目录重新运行项目:flutter run

内容的提问来源于stack exchange,提问作者Berke Uğur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:12:08