Flutter调用Firebase Auth登出报错:未初始化默认Firebase应用
Flutter登出操作失败:Firebase未初始化错误
问题描述
点击AppBar上的“Sign out”按钮,确认登出后触发错误,无法完成登出操作,错误日志提示:
E/flutter (10193): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
错误原因
调用FirebaseAuth.instance.signOut()时,Firebase的默认应用尚未完成初始化。Firebase所有服务的使用前提是必须先调用Firebase.initializeApp()完成初始化操作。
解决方案
1. 在应用启动时完成Firebase初始化
修改应用的main()函数,在运行应用前等待Firebase初始化完成:
import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; void main() async { // 确保Flutter绑定初始化完成 WidgetsFlutterBinding.ensureInitialized(); // 初始化Firebase默认应用 await Firebase.initializeApp(); // 启动应用 runApp(const MyApp()); }
2. 确认依赖配置正确
检查pubspec.yaml中是否添加了必要的Firebase依赖:
dependencies: flutter: sdk: flutter firebase_core: ^2.15.0 # 使用最新稳定版本 firebase_auth: ^4.10.0 # 匹配你的firebase_auth版本
原代码说明
原代码中的登出逻辑本身无问题,但缺少Firebase初始化步骤。完成上述初始化后,FirebaseAuth.instance.signOut()即可正常执行,登出后也能顺利跳转到首页。
内容的提问来源于stack exchange,提问作者user17281101
相关产品推荐
相关产品推荐

