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

Flutter V1转V3项目Android端Gradle不兼容问题求助

将Flutter V1项目升级至V3时Android端启动报错求助

问题概述

要把Flutter V1项目升级到V3,启动旧项目时iOS端正常运行,但Android端抛出不支持Gradle项目的错误,且Android项目中缺少src目录下定义SDK版本的build.gradle文件。

报错信息

Exception: [!] Your app is using an unsupported Gradle project. To fix this problem, create a new project by running flutter create -t app <app-directory> and then move the dart code, assets and pubspec.yaml to the new project.

当前配置信息

gradle-wrapper.properties版本

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip

android目录下的build.gradle内容

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
    }

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

allprojects {
    repositories {
        google()
        jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

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

flutter doctor输出

[✓] Flutter (Channel beta, 1.24.0-10.2.pre, on macOS 13.3 22E252 darwin-arm, locale it-IT)
    • Flutter version 1.24.0-10.2.pre at /Users/alessandro_cancelliere/fvm/versions/1.24.0-10.2.pre
    • Framework revision 022b333a08 (2 years, 7 months ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/alessandro_cancelliere/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 14.3, Build version 14E222b
    • CocoaPods version 1.12.1

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.79.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.67.20230601

已尝试方案

  • 查阅StackOverflow相关帖子并尝试多种解决方案
  • 更换过不同Java版本
  • 均未解决问题

解决方案

1. 先升级本地Flutter版本到V3

你当前使用的是Flutter 1.24 beta版本,直接升级到V3是关键前提:

  • 如果用FVM,执行 fvm install 3.10.0(或最新稳定版),然后切换版本 fvm use 3.10.0
  • 直接升级的话执行 flutter upgrade

2. 修复Android项目结构(补上缺失的app模块)

你的项目缺少android/app目录下的build.gradle,这是Flutter Android项目的核心配置文件。可以按以下步骤修复:

  1. 在项目根目录执行 flutter create --platforms android .(注意末尾的点,会在现有项目中补全Android模块文件)
  2. 执行后会生成android/app目录,里面包含完整的build.gradle和AndroidManifest.xml

3. 更新Gradle和Android Gradle Plugin(AGP)版本

Flutter 3.x对Gradle版本有要求,需要同步升级:

  • 修改android/gradle/wrapper/gradle-wrapper.properties的distributionUrl:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
    
  • 修改android/build.gradle中的AGP和Kotlin版本:
    buildscript {
        ext.kotlin_version = '1.7.20' // 升级Kotlin版本
        repositories {
            google()
            mavenCentral() // 替换jcenter(),jcenter已停止服务
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:7.4.2' // 适配Gradle 7.5的AGP版本
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath 'com.google.gms:google-services:4.3.15' // 升级google-services版本
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    

4. 迁移原有配置到新的app/build.gradle

打开新生成的android/app/build.gradle,添加你需要的配置:

  • 在android.defaultConfig块中补充minSdkVersion、targetSdkVersion(Flutter 3.x建议minSdk至少19):
    defaultConfig {
        applicationId "你的应用ID"
        minSdkVersion 19
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"
    }
    
  • 如果之前有其他自定义配置(如签名、buildTypes等),也需要迁移过来

5. 清理缓存并重新构建

执行以下命令清理缓存,避免旧配置干扰:

flutter clean
cd android && ./gradlew clean
cd .. && flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:54:52