Попытался подключить свой проект flutter к firebase. Но это показывает эту ошибку. Ошибка FirebaseError: Firebase: Приложение Firebase «[ПО УМОЛЧАНИЮ] » не создано

# #firebase #flutter

Вопрос:

Я новичок в flutter и недавно закончил интерфейсный сайт своего проекта с помощью flutter. Но когда я пытаюсь подключить свое приложение к firebase, оно показывает эту ошибку. Я попробовал несколько вещей, чтобы исправить это, но это не дало никаких результатов.

 FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
    at Object.u [as app] (https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js:1:18836)
    at Object.app$ [as app] (http://localhost:59138/packages/firebase_core_web/src/interop/core.dart.lib.js:37:101)
    at initializeApp (http://localhost:59138/packages/firebase_core_web/firebase_core_web.dart.lib.js:87:25)
    at initializeApp.next (<anonymous>)
    at runBody (http://localhost:59138/dart_sdk.js:39250:34)
    at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
    at firebase_core_web.FirebaseCoreWeb.new.initializeApp
    (http://localhost:59138/packages/firebase_core_web/firebase_core_web.dart.lib.js:80:20)
    at initializeApp (http://localhost:59138/packages/firebase_core/firebase_core.dart.lib.js:127:59)
    at initializeApp.next (<anonymous>)
    at runBody (http://localhost:59138/dart_sdk.js:39250:34)
    at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
    at Function.initializeApp (http://localhost:59138/packages/firebase_core/firebase_core.dart.lib.js:126:20)
    at main (http://localhost:59138/packages/prolib/main.dart.lib.js:343:36)
    at main.next (<anonymous>)
    at runBody (http://localhost:59138/dart_sdk.js:39250:34)
    at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
    at main$ (http://localhost:59138/packages/prolib/main.dart.lib.js:341:18)
    at main (http://localhost:59138/web_entrypoint.dart.lib.js:39:29)
    at main.next (<anonymous>)
    at http://localhost:59138/dart_sdk.js:39230:33
    at _RootZone.runUnary (http://localhost:59138/dart_sdk.js:39087:58)
    at _FutureListener.thenAwait.handleValue (http://localhost:59138/dart_sdk.js:34073:29)
    at handleValueCallback (http://localhost:59138/dart_sdk.js:34633:49)
    at Function._propagateToListeners (http://localhost:59138/dart_sdk.js:34671:17)
    at _Future.new.[_completeWithValue] (http://localhost:59138/dart_sdk.js:34513:23)
 

мой главный дротик-это

 import 'package:flutter/material.dart';
import 'prolib_theme.dart';
import 'package:provider/provider.dart';
import 'models/models.dart';
import '../navigation/app_router.dart';
import '../navigation/app_route_parser.dart';
import 'package:firebase_core/firebase_core.dart';

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

class Prolib extends StatefulWidget {
  const Prolib({Key key}) : super(key: key);

  @override
  _ProlibState createState() => _ProlibState();
}

class _ProlibState extends State<Prolib> {
  final _bookManager = BookManager();
  final _profileManager = ProfileManager();
  final _appStateManager = AppStateManager();
  AppRouter _appRouter;
  final routeParser = AppRouteParser();
  @override
  void initState() {
    _appRouter = AppRouter(
      appStateManager: _appStateManager,
      groceryManager: _bookManager,
      profileManager: _profileManager,
    );
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider(
          create: (context) => _bookManager,
        ),
        ChangeNotifierProvider(
          create: (context) => _profileManager,
        ),
        ChangeNotifierProvider(
          create: (context) => _appStateManager,
        ),
      ],
      child: Consumer<ProfileManager>(
        builder: (context, profileManager, child) {
          ThemeData theme;
          if (profileManager.darkMode) {
            theme = FooderlichTheme.dark();
          } else {
            theme = FooderlichTheme.light();
          }

          return MaterialApp.router(
            theme: theme,
            title: 'Prolib',
            debugShowCheckedModeBanner: false,
            backButtonDispatcher: RootBackButtonDispatcher(),
            routeInformationParser: routeParser,
            routerDelegate: _appRouter,
          );
        },
      ),
    );
  }
}
 

Как я могу решить эту проблему. Я использую flutter в vscode. Я видел других людей с такой же проблемой, но когда я попробовал их методы, это не дало результата. Спасибо вам за ваше внимание.

Ответ №1:

Не забудьте добавить имя класса, который вы хотите запустить, вот так

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

Комментарии:

1. Спасибо вам за ваш ответ. Не могли бы вы объяснить более подробно.

2. да, const предназначен для ключа, и если вы используете его для запуска приложения, он не обнаруживает класс Prolib()

3. void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(Prolib()); } Я написал это так, но все равно получаю ту же ошибку. Но спасибо вам за ваш ответ, сэр.