You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter升级后Firebase无法创建新用户及空指针异常求助

Flutter升级后Firebase无法创建新用户的异常解决

问题描述

升级Flutter版本后,Firebase无法创建新用户,抛出以下空指针异常:

E/flutter (22614): at io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin$$ExternalSyntheticLambda3.run(Unknown Source:6)
E/flutter (22614): ... 3 more
E/flutter (22614): Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' on a null object reference
E/flutter (22614): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@18.1.0:5)
E/flutter (22614): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@18.1.0:9)
E/flutter (22614): at io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry.lambda$getPluginConstantsForFirebaseApp$0(FlutterFirebasePluginRegistry.java:55)
E/flutter (22614): at io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry$$ExternalSyntheticLambda1.run(Unknown Source:4)
E/flutter (22614): ... 3 more
E/flutter (22614): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' on a null object reference
E/flutter (22614): at io.flutter.plugins.firebase.auth.FlutterFirebaseAuthPlugin.lambda$getPluginConstantsForFirebaseApp$16(FlutterFirebaseAuthPlugin.java:689)

解决方案

  • 修正初始化顺序:异常核心是FirebaseAuth实例未初始化就调用了getCurrentUser(),需确保在使用Auth功能前完成Firebase核心初始化:

    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      runApp(MyApp());
    }
    
  • 同步Firebase插件版本:Flutter升级后,需保证firebase_core和firebase_auth等插件版本与当前Flutter兼容,在pubspec.yaml中统一指定版本后执行flutter pub get:

    dependencies:
      flutter:
        sdk: flutter
      firebase_core: ^2.15.0
      firebase_auth: ^4.10.0
    
  • 清理项目缓存:执行flutter clean,删除android/.gradle、android/build目录后重新运行项目,避免缓存导致的版本冲突。

  • 检查Android配置文件:确认android/app/google-services.json为最新版本,包名与Firebase控制台一致;同时检查android/build.gradle和android/app/build.gradle中的Firebase依赖版本同步。

  • 延迟Auth操作:所有Firebase Auth相关操作(如创建用户)必须在Firebase.initializeApp()完成后执行,禁止在初始化流程未结束前提前调用。


内容的提问来源于stack exchange,提问作者Adam Obonyilo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:20:04