Flutter报Firebase[core/no-app]错误 试过Stack Overflow方案仍未解决求方法
Flutter Firebase [core/no-app] 报错解决方案
报错核心原因是Firebase应用初始化时机晚于Firebase相关实例的调用时机,同时存在多个代码配置错误,按以下步骤修复即可:
- 修正main方法初始化逻辑,启动App前先完成Firebase全局初始化:
import 'package:flutter/material.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'firstpage.dart'; import 'package:firebase_core/firebase_core.dart'; // main方法改为异步 void main() async { // 先初始化Flutter组件绑定 WidgetsFlutterBinding.ensureInitialized(); // 提前初始化Firebase默认应用 await Firebase.initializeApp(); runApp(MaterialApp( home: Homepage(), routes: { '/home':(context) => const Homepage(), '/first':(context) => const First_Page(), }, )); }
- 删除按钮点击事件中的
await Firebase.initializeApp();代码,无需重复初始化 - 修正输入框内容获取逻辑,你之前的写法拿到的是控制器对象的描述而非用户输入值:
// 替换原有赋值代码 email = _user.text.trim(); password = _pass.text.trim();
- 修正路由跳转参数,和你预先定义的路由名保持一致:
// 替换原有跳转代码 Navigator.pushNamed(context, '/first');
- 修正pubspec.yaml的缩进错误,所有第三方依赖要和flutter项同级,避免依赖加载失败:
dependencies: flutter: sdk: flutter firebase_core: ^1.10.0 firebase_auth: ^3.2.0
额外注意:请确认你已经将Firebase控制台生成的google-services.json(安卓端)、GoogleService-Info.plist(iOS端)放入项目对应目录,缺失配置文件也会触发同类初始化错误。
内容的提问来源于stack exchange,提问作者Praveen Kumar
相关产品推荐
相关产品推荐

