Flutter调用Firebase.initializeApp()报[DEFAULT]应用未创建错误如何解决
问题原因及解决方案
核心原因
该报错出现在Flutter Web运行场景下,你所使用的firebase_core: ^1.10.0版本对应的Web端实现,依赖提前在Web侧完成Firebase JS SDK的引入与初始化配置,若缺少该配置,Dart层调用Firebase.initializeApp()时会无法找到底层JS侧的Firebase实例,进而抛出app/no-app错误。
修复步骤
- 第一步:从Firebase控制台获取你当前项目对应的Web端配置对象,包含
apiKey、authDomain、projectId、storageBucket、messagingSenderId、appId六个核心字段。 - 第二步:打开项目下
web/index.html文件,在<script src="main.dart.js" type="application/javascript"></script>代码行之前,添加如下内容:
<!-- 引入对应版本的Firebase JS SDK,版本与报错栈中的8.6.1保持一致即可 --> <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-firestore.js"></script> <script> const firebaseConfig = { // 此处替换为你自己的项目配置 apiKey: "xxx", authDomain: "xxx", projectId: "xxx", storageBucket: "xxx", messagingSenderId: "xxx", appId: "xxx" }; firebase.initializeApp(firebaseConfig); </script>
- 第三步:清除浏览器缓存后重新运行项目,报错即可解决。
可选替代方案
如果不想手动修改index.html配置,可将Flutter版本升级至3.0及以上,配合新版firebase_core依赖与flutterfire_cli工具,可自动生成跨端配置无需手动调整Web端文件。
内容的提问来源于stack exchange,提问作者nitwob54
相关产品推荐
相关产品推荐

