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

Flutter项目引入Firebase后无法构建APK,疑Gradle配置错误

问题排查与解决方案

问题根源

你的Gradle配置存在版本冲突和不一致的地方,这是导致Kotlin编译报错的主要原因:

  • 项目级Gradle里,buildscript块使用的Android Gradle Plugin(AGP)版本是7.6,但plugins块中声明的com.android.application版本却是8.3.1,两个版本不匹配
  • 应用级Gradle未明确指定Kotlin版本,虽理论上可继承项目级变量,但存在潜在引用风险
  • compileSdkVersion与targetSdkVersion版本不一致,且未匹配Firebase BOM推荐的最低版本

分步修复方案

1. 统一Android Gradle Plugin版本

修改项目级build.gradle,让buildscript和plugins块的AGP版本保持一致,这里统一使用与你初始可正常构建的版本匹配的7.6.0:

buildscript {
    ext.kotlin_version = '1.9.23' 

    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.6.0' // 明确小版本号
        classpath 'com.google.gms:google-services:4.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

plugins {
    id 'com.android.application' version '7.6.0' apply false // 与buildscript中AGP版本对齐
    id 'com.google.gms.google-services' version '4.4.1' apply false
}

// 其余内容保持不变

2. 修正应用级Gradle配置

修改应用级build.gradle,同步版本并补全必要依赖:

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

android {
    namespace "com.berksport_app"
    compileSdkVersion 34 // 升级到Firebase BOM 32.8.0推荐版本(也可保持33,但需同步targetSdk)
    targetSdkVersion 34 // 与compileSdkVersion保持一致

    defaultConfig {
        minSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {
    implementation(platform("com.google.firebase:firebase-bom:32.8.0"))
    implementation 'androidx.appcompat:appcompat-resources:1.6.1'
    implementation("com.google.firebase:firebase-auth")
    implementation("com.google.firebase:firebase-firestore")
    implementation 'com.google.firebase:firebase-crashlytics' // 补充Crashlytics核心依赖
    implementation 'com.google.firebase:firebase-crashlytics-buildtools:2.9.9'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.23" // 直接指定版本,避免变量引用问题
}

3. 清理缓存并重新构建

执行以下命令清理缓存后重新构建项目:

flutter clean
flutter pub get
cd android
./gradlew clean build --warning-mode all

额外注意事项

  • 确保Flutter SDK版本与AGP版本兼容:Flutter 3.10+推荐使用AGP 7.4+,若你的Flutter版本较旧,可尝试将AGP降级至7.4.2
  • 检查Firebase控制台下载的google-services.json文件已正确放置在android/app目录下
  • 若仍存在Kotlin编译错误,可尝试将Kotlin版本降级至1.8.22(与AGP 7.6更匹配的稳定版本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:28:21