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

Flutter配置Firebase报错:google-services.json缺失及配置求助

Flutter Firebase配置问题:google-services.json缺失报错及完整修复方案

问题说明

明明已经把命名正确的google-services.json放到了android/app目录,甚至还加了src/debug目录,但构建时还是报文件缺失错误:

  • What went wrong:
    Execution failed for task ':app:processDebugGoogleServices'.

File google-services.json is missing.
The Google Services Plugin cannot function without it.

当前使用Gradle版本7.5,以下是修复前的配置文件及问题分析:


原配置文件中的问题

app/build.gradle问题点

  1. 重复声明插件:plugins块里已经添加了com.android.application、kotlin-android、google-services,后面又重复用apply plugin声明,会导致Gradle冲突。
  2. defaultConfig重复配置:重复设置compileSdkVersion、minSdkVersion等参数,覆盖Flutter默认配置,容易引发版本不一致。
  3. Multidex依赖过时:使用了旧版com.android.support:multidex,Flutter现在默认用AndroidX,应该替换为AndroidX版本。

android/build.gradle问题点

AGP版本不匹配:Gradle7.5对应的Android Gradle Plugin(AGP)版本应为7.4.x,原配置里用的7.3.1版本过低,会导致兼容性问题。


修复步骤

1. 规范google-services.json放置

  • 只需要把文件放到android/app/目录下即可,不需要额外放到src/debug(除非你需要区分debug/release环境的不同配置)。
  • 检查文件名:确保完全是google-services.json,没有拼写错误或隐藏后缀(比如不小心存成了google-services.json.txt)。

2. 修正app/build.gradle

删除重复插件声明,整理配置项,替换Multidex依赖:

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'com.google.gms.google-services'
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdk 34

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        applicationId "com.example.emersonapp"
        minSdkVersion 25
        targetSdkVersion 34
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation platform('com.google.firebase:firebase-bom:32.6.0')
    implementation 'com.google.firebase:firebase-analytics'
    // 替换为AndroidX版本Multidex
    implementation 'androidx.multidex:multidex:2.0.1'
}

3. 修正android/build.gradle

调整AGP版本与Gradle7.5匹配,移除冗余配置:

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

    dependencies {
        // Gradle7.5对应AGP7.4.2,版本匹配避免冲突
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.4.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

4. 清理重建项目

执行以下命令彻底清理并重建:

flutter clean
flutter pub get
flutter run

实用配置技巧

  • 核对应用ID:Firebase控制台创建的应用ID,必须和Flutter项目里的applicationId完全一致,否则即使json正确也会报错。
  • 用Firebase BOM管理版本:像你现在用的implementation platform('com.google.firebase:firebase-bom:32.6.0')是推荐做法,自动统一所有Firebase依赖版本,避免冲突。
  • 区分环境配置:如果需要debug和release用不同的Firebase配置,把debug版json放到android/app/src/debug/,release版放到android/app/src/release/,插件会自动加载对应环境的文件。
  • 同步Gradle:修改配置后,点击Android Studio右上角的「Sync Project with Gradle Files」按钮,确保配置变更被正确识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:24:58