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

Flutter Android端Gradle构建失败求助:clean任务重复+compileSdkVersion未指定

问题:Flutter集成Firebase后Android端Gradle构建失败

此前因AndroidManifest.xml文件报错,按Firebase指引将代码、pubspec.yaml迁移至新创建的应用,完成app级和project级gradle依赖/插件集成,并放置google-services.json文件。Web端可正常运行,但Android端Gradle构建报错,使用ChatGPT生成的gradle配置仍无法解决。

错误信息

Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file 'C:\Hussain\applications\instagram\android\app\build.gradle' line: 36

* What went wrong:
A problem occurred evaluating project ':app'.
> Cannot add task 'clean' as a task with that name already exists.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > com.android.builder.errors.EvalIssueException: compileSdkVersion is not specified. Please add it to build.gradle
   > Cannot invoke method substring() on null object

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
Error: Gradle task assembleDebug failed with exit code 1


Exited (1).

错误原因分析

  1. 重复clean任务:app级和project级gradle文件都注册了clean任务,与Flutter默认提供的clean任务冲突。
  2. gradle配置结构错误:app级gradle中混入了属于project级的配置(如buildscript、allprojects),导致Android块的compileSdkVersion未被正确识别;同时flutterVersionCode/flutterVersionName的传递逻辑因结构错误失效,引发空指针异常。

修复后的gradle配置

project/build.gradle

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.2'
        classpath 'com.google.gms:google-services:4.3.10'
    }
}

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

// 移除重复的clean任务注册,Flutter默认已包含该任务

app/build.gradle

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'dev.flutter.flutter-gradle-plugin'
    id 'com.google.gms.google-services' // 调整至flutter插件之后加载
}

android {
    compileSdkVersion 34
    ndkVersion flutter.ndkVersion

    defaultConfig {
        applicationId "com.example.instagram"
        minSdkVersion 21
        targetSdkVersion 34
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation platform('com.google.firebase:firebase-bom:33.1.1')
    implementation 'com.google.firebase:firebase-analytics'
}

关键修复点

  • 移除两处重复的tasks.register('clean', Delete)配置,避免任务冲突。
  • 清理app级gradle中的冗余配置(buildscript、allprojects等),保持配置层级正确。
  • 调整Firebase插件加载顺序,确保在Flutter插件之后加载,避免配置识别异常。
  • 添加ndkVersion flutter.ndkVersion,与Flutter默认配置对齐,消除潜在的NDK版本问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:42:03