Firebase.initializeApp() 给出错误:对空值使用空检查运算符

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

这给出了对空值使用空检查运算符并指出行

Firebase.initializeApp()
。我也试过
flutter clean

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 flutter dart google-cloud-firestore
3个回答
64
投票

您应该在 main 函数中添加

WidgetsFlutterBinding.ensureInitialized();

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

  await Firebase.initializeApp();
  runApp(MyApp());
}

对于 Firebase 初始化,需要使用 Flutter Platform Channels 访问本机代码。为此,您需要确保 Flutter 引擎绑定已初始化。


2
投票

使用@mkobuolys提到的代码行。

我在 Visual Studio Code 中遇到了同样的问题,但它没有向我显示任何有关错误的详细信息,但 Android Studio 却显示了。

如果有人感兴趣,这里是异常消息中最重要的信息:

如果您正在运行应用程序并且需要访问二进制文件 在

runApp()
被调用之前(例如,在 插件初始化),那么你需要显式调用 首先
WidgetsFlutterBinding.ensureInitialized()
。如果您正在运行 测试一下,可以拨打
TestWidgetsFlutterBinding.ensureInitialized()
作为测试的
main()
方法中的第一行来初始化 绑定。


0
投票

在 android/app/build.gradle 中添加这一行,这对我有用

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

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