Flutter集成Firebase后出现initializeCore相关MissingPluginException报错
解决方案
1. 修正pubspec.yaml格式错误
你当前的firebase_core依赖声明中冒号前多了空格,不符合yaml语法规范,修改后的依赖配置如下:
dependencies: flutter: sdk: flutter firebase_auth: ^3.2.0 firebase_core: ^1.10.0
修改完成后执行flutter pub get重新拉取依赖。
2. 清理项目缓存重新构建
这是MissingPluginException类报错最通用的解决方法,按顺序执行以下操作:
- 停止当前正在运行的应用进程
- 终端执行
flutter clean清除项目构建缓存 - 终端执行
flutter pub get重新安装所有依赖 - 完全卸载测试设备(手机/模拟器)上已安装的该应用
- 重新执行
flutter run启动项目,90%以上的同类报错可通过该步骤解决
3. 修正代码逻辑错误
你的代码存在多处不合理的写法,需要同步调整:
- Firebase全局仅需要初始化一次即可,你已经在main函数中完成了初始化操作,删除
_HomepageState中定义的final Future<FirebaseApp> _initialization = Firebase.initializeApp();代码,同时删除按钮点击事件中的await Firebase.initializeApp();代码,避免重复初始化 - 输入框内容获取逻辑错误,
_user.toString()返回的是控制器对象的描述而非用户输入的内容,将email=_user.toString();password=_pass.toString();修改为email = _user.text.trim();password = _pass.text.trim(); - 路由路径不匹配,你注册的路由名为
/first,跳转时写的是/First_Page,需要统一为相同的路径,避免后续触发路由不存在的报错
4. 检查平台侧Firebase配置
如果上述步骤完成后仍然报错,确认你已经完成了对应运行平台的Firebase配置:
- Android端:已将Firebase控制台下载的
google-services.json文件放入项目android/app目录下,并且在android/build.gradle中添加了google services插件依赖,在android/app/build.gradle中引入了该插件 - iOS端:已将Firebase控制台下载的
GoogleService-Info.plist文件通过Xcode导入到Runner项目的根目录下,并且完成了对应的编译配置
内容的提问来源于stack exchange,提问作者Praveen Kumar
相关产品推荐
相关产品推荐

