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

Flutter中Firebase初始化报PlatformException(null-error)问题求助

Flutter Firebase.initializeApp 异常解决

错误信息

E/flutter ( 7704): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(null-error, Host platform returned null value for non-null return value., null, null)
E/flutter ( 7704): #0      FirebaseCoreHostApi.optionsFromResource (package:firebase_core_platform_interface/src/pigeon/messages.pigeon.dart:248:7)
E/flutter ( 7704): <asynchronous suspension>
E/flutter ( 7704): #1      MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:89:25)
E/flutter ( 7704): <asynchronous suspension>
E/flutter ( 7704): #2      Firebase.initializeApp (package:firebase_core/src/firebase.dart:43:31)
E/flutter ( 7704): <asynchronous suspension>
E/flutter ( 7704): #3      main (package:vendorapp/main.dart:6:3)
E/flutter ( 7704): <asynchronous suspension>

已配置的Gradle文件

app/build.gradle

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

project/build.gradle

ext.kotlin_version = '1.7.10'
repositories {
google()
mavenCentral()
}

dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.4.0'
classpath 'com.android.tools.build:gradle:7.3.0'
}
}

allprojects {
repositories {
google()
mavenCentral()
}

解决步骤

  • 检查配置文件位置
    确认从Firebase控制台下载的google-services.json已正确放置在android/app目录下,文件内容需与当前项目的Firebase配置完全匹配。

  • 调整插件顺序
    com.google.gms.google-services插件必须放在最后加载,修改app/build.gradle的插件部分:

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'com.google.gms.google-services'
    
  • 清理缓存并重构
    执行以下命令清理项目缓存,避免旧配置干扰:

    flutter clean
    cd android && ./gradlew clean
    cd .. && flutter pub get
    flutter run
    
  • 修正project/build.gradle语法错误
    原配置中多了一个闭合的},修正后完整配置:

    ext.kotlin_version = '1.7.10'
    buildscript {
      repositories {
        google()
        mavenCentral()
      }
      dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.4.0'
        classpath 'com.android.tools.build:gradle:7.3.0'
      }
    }
    
    allprojects {
      repositories {
        google()
        mavenCentral()
      }
    }
    
  • 手动传入初始化参数
    如果自动读取配置失败,可从Firebase控制台获取参数,手动初始化:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(
        options: FirebaseOptions(
          apiKey: "你的API_KEY",
          appId: "你的APP_ID",
          messagingSenderId: "你的SENDER_ID",
          projectId: "你的PROJECT_ID",
        ),
      );
      runApp(MyApp());
    }
    
  • 检查依赖版本兼容性
    确保pubspec.yaml中firebase_core的版本与Gradle、Kotlin版本兼容,建议使用最新稳定版:

    dependencies:
      firebase_core: ^2.15.0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:49:53