错误:flutter/lib/ui/ui_dart_state.cc(209)]未处理的异常:[core/duplicate-app]名为“[DEFAULT]”的Firebase应用程序已存在

xurqigkl  于 2023-02-13  发布在  Flutter
关注(0)|答案(9)|浏览(276)

由于我新的Firebase,我有麻烦的重复名称已经存在,我需要你的帮助。

E/flutter (21802): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: [core/duplicate-app] A Firebase App named "[DEFAULT]" already exists
E/flutter (21802): #0      MethodChannelFirebase.initializeApp
package:firebase_core_platform_interface/…/method_channel/method_channel_firebase.dart:111
E/flutter (21802): <asynchronous suspension>
E/flutter (21802): #1      Firebase.initializeApp
package:firebase_core/src/firebase.dart:41
E/flutter (21802): <asynchronous suspension>
E/flutter (21802): #2      main
package:flutterbuyandsell/main.dart:47
E/flutter (21802): <asynchronous suspension>
E/flutter (21802):

.../方法通道/方法通道防火墙。dart:111

软件包:firebase核心/源代码/firebase。dart:41

套餐:flutterbuyandsell/主服务价格:47

fdbelqdn

fdbelqdn1#

我通过向initializeApp方法添加一个名称来解决这个问题:

await Firebase.initializeApp(
  name: 'name-here',
  options: DefaultFirebaseOptions.currentPlatform,
)

为了保持一致性,我使用了在firebase控制台中使用的相同名称作为我的项目ID,请记住,您不能在名称中添加空格(只能添加破折号-)。

atmip9wb

atmip9wb2#

flutter clean

以及

flutter pub get

连续执行这两个命令解决了我的问题。

zsbz8rwp

zsbz8rwp3#

在Flutter中添加此内容
注-在整个项目中仅使用此“Firebase.initializeApp”一次。
//等待默认Firebase应用程序初始化

if (Firebase.apps.isEmpty) {
  await Firebase.initializeApp(
  name: 'YourAPP',
  options: DefaultFirebaseOptions.currentPlatform,
 ).whenComplete(() {
  print("completedAppInitialize");
 });
}
drkbr07n

drkbr07n4#

我通过添加Firebase项目的名称解决了这个问题。您可以尝试以下操作:

await Firebase.initializeApp(
  name: 'name of your App in FireStore',
  options: DefaultFirebaseOptions.currentPlatform,
)
xmakbtuz

xmakbtuz5#

您可以通过如下更改main.dart文件来解决此问题:

void main() async {
  await Firebase.initializeApp(
      name: '<YourAppName>',
      options: FirebaseOptions(
          apiKey: '<apiKey>',
          appId: '<appId>',
          messagingSenderId: '<senderId>',
          projectId: '<projectId>'));

  runApp(MyApp());
}

这对我很有效,我相信对你也有帮助。

ufj5ltwl

ufj5ltwl6#

if (Firebase.apps.isEmpty) {
    await Firebase.initializeApp();
 }
huwehgph

huwehgph7#

如果您在使用flutter run -d chrome运行应用程序时更改了选项,并且在更改选项后仅使用了热加载,则它会尝试初始化第二个应用程序,但无法正常工作。只需使用ctrl+c终止正在运行的会话并启动一个新会话,错误就会消失。

krcsximq

krcsximq8#

我有两种解决方案,我亲自测试过,它们都有效:

第一个解决方案:

只需使用flutter clean清理项目并再次运行它,它现在应该可以工作了!👌🏻🔥

第二个解决方案:

1.在main方法中注解Firebase的初始化。
1.运行应用程序。
1.应用程序运行后,立即停止。
1.取消注解相同的初始化代码。
1.运行应用程序。
就是这样👌🏻🔥

aij0ehis

aij0ehis9#

WidgetsFlutterBinding.ensureInitialized();
  if (Firebase.apps.isEmpty) {
    await Firebase.initializeApp(
      name: firebaseprojectname,
      options: const FirebaseOptions(
          apiKey: firebaseApiKey,
          appId: firebaseAppId,
          messagingSenderId: firebasemMssagingSenderId,
          projectId: firebaseProjectId),
    );
  }

main()内的主.dart文件中添加以下内容

相关问题