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

通过USB运行Flutter应用出现黑屏及Firebase重复初始化错误

问题解决:Flutter应用Android端启动黑屏(Firebase重复初始化错误)

核心问题

日志明确抛出[core/duplicate-app] 名为"[DEFAULT]"的Firebase应用已存在未处理异常,这是导致应用启动黑屏的直接原因——Firebase默认应用被多次初始化,阻塞了后续UI渲染流程。

解决方案

1. 修正main函数初始化逻辑

确保Firebase.initializeApp()仅执行一次,推荐写法:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 检查默认应用是否已存在,避免重复初始化
  if (Firebase.apps.isEmpty) {
    await Firebase.initializeApp();
  }
  runApp(const MyApp());
}

2. 排查第三方插件自动初始化

部分Firebase关联插件可能会自动初始化默认应用,此时手动调用初始化会触发冲突:

  • 查看pubspec.yaml中Firebase类依赖(如firebase_auth、cloud_firestore)的文档,确认是否存在自动初始化行为
  • 若插件支持关闭自动初始化,在Android/iOS配置文件中关闭对应开关

3. 清理缓存并重建应用

若调整后问题仍存在,执行以下操作:

  • 清理Flutter缓存:flutter clean
  • 重新获取依赖:flutter pub get
  • 卸载设备上的旧应用,重新编译安装:flutter run

验证

修改后重新编译安装,若日志中不再出现duplicate-app异常,应用即可正常启动加载UI。

内容的提问来源于stack exchange,提问作者Ab Tb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:13:31