尚未创建 Firebase 应用程序 - 调用 Firebase.initializeApp()

问题描述 投票:0回答:7

我正在尝试运行我的应用程序,但出现以下错误

[core/no-app] 未创建 Firebase 应用程序“[DEFAULT]” - 调用 Firebase.initializeApp()

我已经打电话给

firebase.initializeApp()
但错误还是一样。 这是我的主文件代码

    void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (_) => AppointmentsProvider(),
      child: MaterialApp(
        title: 'Car Wash App',
        theme: ThemeData(
          primarySwatch: Colors.blue,
          visualDensity: VisualDensity.adaptivePlatformDensity,
         
        ),
        home: FutureBuilder(
          future: Firebase.initializeApp(),
          builder: (ctx, snap) =>
              snap.connectionState == ConnectionState.waiting
                  ? Center(
                      child: Text('Loading...'),
                    )
                  : StreamBuilder(
                      stream: FirebaseAuth.instance.authStateChanges(),
                      builder: (ctx, snapShot) =>
                          snapShot.hasData ? HomePage() : UserAuth(),
                    ),
        ),
        routes: {
          HomePage.routeName: (_) => HomePage(),
          HistoryPage.routeName: (_) => HistoryPage(),
          MyAppointments.routeName: (_) => MyAppointments(),
          PackagesPage.routeName: (_) => PackagesPage(),
          VehicleType.routeName: (_) => VehicleType(),
          SlotPage.routeName: (_) => SlotPage(),
          ExtraServicesPage.routeName: (_) => ExtraServicesPage(),
          SummaryPage.routeName: (_) => SummaryPage(),
          DetailedScreen.routeName: (_) => DetailedScreen(),
          PaymentMethodScreen.routeName: (_) => PaymentMethodScreen(),
        },
      ),
    );
  }
}

非常感谢任何形式的帮助。谢谢你

firebase flutter
7个回答
14
投票

你应该在main()中初始化它。

例如:

import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(MyApp());
}

此链接可能对您有帮助。

编辑:第一个链接已存档。 这是在 Flutter 项目中设置 firebase 的新方法。步骤都差不多。最后一个链接包含配置 Firebase 插件的另一个步骤。

步骤是:

  • 第1步:安装所需的命令行工具
  • 第 2 步:配置您的应用以使用 Firebase
  • 第 3 步:在您的应用中初始化 Firebase
  • 第 4 步:添加 Firebase 插件

4
投票
如果上述答案没有帮助,您可以通过以下步骤解决问题:

delete the project and take backup of lib folder and pubspec.yaml file. Create a new project with the same name copy backed up files to the newly created project. run flutter pub get you are good to go
它确实解决了我的问题。我希望这会有所帮助。


4
投票
Firebase.initializeApp() 是一个异步函数。您应该使用“await”来确保 Firebase 初始化。并使用 WidgetsFlutterBinding.ensureInitialized() 来防止颤动错误。

void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(const MyApp()); }
    

3
投票
问题是你在flutter项目中配置了firebase,但在应用程序启动前没有初始化它。

您需要异步初始化firebase sdk。这就是如何去做。

Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(const MyApp()); }


2
投票
当您未能在项目和应用程序级别的 build.gradle 文件中的 Android 端添加所需的依赖项时,就会发生此错误


2
投票
  1. 检查您的 android/build.gradle 文件。 内部依赖添加

    classpath 'com.google.gms:google-services:4.3.14'(使用最新版本)

  2. 转到 app/build.gradle 文件。 添加插件外部依赖项

    应用插件:'com.google.gms.google-services'


1
投票
  

1。安装这个包

   用于安装 Firebase 核心包

单击此处

   在你的 main.dart 中:-



2.导入 Firebase_core 包:

import 'package:firebase_core/firebase_core.dart';

3.在你的 main 中添加这些行:

void main() async{ WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(myApp()); }

它对我有用,希望对其他人也有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.