Firebase.initializeApp() 给出错误 : Null check operator used on a null value

标签 firebase flutter dart google-cloud-firestore

运行这个

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ThePage(),
    );
  }
}

class ThePage extends StatelessWidget {
  const ThePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(          
    );
  }
}
给出用于空值的空检查运算符并指出行 Firebase.initializeApp() .
我试过flutter clean也。
以及堆栈跟踪中的错误
E/flutter (31894): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value
E/flutter (31894): #0      MethodChannel.binaryMessenger
package:flutter/…/services/platform_channel.dart:142
E/flutter (31894): #1      MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:148
E/flutter (31894): #2      MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:331
E/flutter (31894): #3      MethodChannel.invokeListMethod
package:flutter/…/services/platform_channel.dart:344
E/flutter (31894): #4      MethodChannelFirebase._initializeCore
package:firebase_core_platform_interface/…/method_channel/method_channel_firebase.dart:30
E/flutter (31894): #5      MethodChannelFirebase.initializeApp
package:firebase_core_platform_interface/…/method_channel/method_channel_firebase.dart:77
E/flutter (31894): #6      Firebase.initializeApp
package:firebase_core/src/firebase.dart:41
E/flutter (31894): #7      main
package:firebasetests/main.dart:5
E/flutter (31894): #8      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:142:25)
E/flutter (31894): #9      _rootRun (dart:async/zone.dart:1354:13)
E/flutter (31894): #10     _CustomZone.run (dart:async/zone.dart:1258:19)
E/flutter (31894): #11     _runZoned (dart:async/zone.dart:1789:10)
E/flutter (31894): #12     runZonedGuarded (dart:async/zone.dart:1777:12)
E/flutter (31894): #13     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:138:5)
E/flutter (31894): #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:283:19)
E/flutter (31894): #15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
这是删除 Firebase.initializeApp() 后错误的堆栈跟踪。主要它运行良好。

最佳答案

您应该添加 WidgetsFlutterBinding.ensureInitialized();主函数内部:

void main() async {
  WidgetsFlutterBinding.ensureInitialized(); // Add this

  await Firebase.initializeApp();
  runApp(MyApp());
}
对于 Firebase 初始化,需要使用 Flutter Platform Channels 访问 native 代码。为此,您需要确保已初始化 Flutter 引擎绑定(bind)。

关于Firebase.initializeApp() 给出错误 : Null check operator used on a null value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68010715/

相关文章:

javascript - 我如何绕过 firebase 在响应时给出的数组中的随机 id?

flutter - "Waiting for a connection from Flutter on device..."如何解决

android - Http 请求在 Flutter 中不返回任何内容,也不会抛出任何错误

dart - 如何在 flutter 中读取 txt 文件?

Android:未找到 Firebase 导入

firebase - 如何使用 Http 缓存控制保存 Firestore 请求?

android - 如何使 flutter 小部件扩展到其父小部件之外

flutter - 如何在Flutter中创建自定义反向导航

asynchronous - 如何在获取 Flutter 中的当前位置时显示加载微调器?

javascript - Firebase/React 查询用户名