尽管调用了 Firebase.initializeApp(),但 Firebase 未初始化
Posted
技术标签:
【中文标题】尽管调用了 Firebase.initializeApp(),但 Firebase 未初始化【英文标题】:Firebase not initializing despite calling Firebase.initializeApp() 【发布时间】:2021-11-27 21:25:48 【问题描述】:我正在编写我的第一个 Flutter 并尝试建立与 Firebase 的连接。我已按照官方网站上的说明在 Firebase 中注册了我的应用程序。我在 .yaml 文件中添加了 core 和 auth 包,更新了 build.gradle 文件并将它们导入到我的源代码中。然后我通过在启动应用程序之前调用正确的方法来初始化 Firebase。每当我尝试匿名登录时,都会收到错误消息:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:[core/no-app] 没有创建 Firebase 应用“[DEFAULT]” - 调用 Firebase.initializeApp()
我真的不知道发生了什么,因为我认为我正在根据 FlutterFire 文档调用该方法。这是我的 main.dart 文件:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:roomie/views/sign_in_page.dart';
Future<void> main() async
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
title: 'Roomie',
theme: ThemeData(
primarySwatch: Colors.pink,
),
home: SignInPage(),
);
这是我的登录方法。每当我按下登录按钮时,我都会收到 Firebase 尚未初始化的错误:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
class SignInPage extends StatelessWidget
Future<void> _signInAnonymously() async
final userCredentials = await FirebaseAuth.instance.signInAnonymously();
print(userCredentials.user!.uid.toString());
@override
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(
title: Text('Roomie'),
elevation: 2.0,
),
body: _buildContent(),
backgroundColor: Colors.grey[200],
);
Widget _buildContent()
return Padding(
padding: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Sign In',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 26.0,
fontWeight: FontWeight.w500,
),
),
SizedBox(
height: 50.0,
child: ElevatedButton(
onPressed: _signInAnonymously,
child: Text(
'Sign in anonymously',
style: TextStyle(
color: Colors.black87,
),
),
style: ElevatedButton.styleFrom(
primary: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50),
),
),
),
),
],
),
);
【问题讨论】:
您是否将firebase config json文件正确放置在文件夹结构中? 【参考方案1】:我认为要么是您没有将 google_services.json 文件放在正确的路径中。确保文件放在android目录下的app目录下。
您是否在 Firebase 控制台中启用了身份验证。检查您的项目控制台,单击身份验证,并确保在“登录方法”中启用您选择的身份验证方法。
【讨论】:
以上是关于尽管调用了 Firebase.initializeApp(),但 Firebase 未初始化的主要内容,如果未能解决你的问题,请参考以下文章
尽管调用了 Firebase.initializeApp(),但 Firebase 未初始化
尽管上传成功,但调用了 AFNetworking 2.0 POST + PHP 阻止失败