Gradle 版本与 Android Gradle Plugin 版本对应关系
版本兼容性对照表
| Android Gradle Plugin (build.gradle) | 最低 Gradle 版本 | 推荐 Gradle 版本 | 对应 Flutter 版本 |
|---|---|---|---|
com.android.tools.build:gradle:3.0.x | 4.1 | 4.1 | Flutter 1.x |
com.android.tools.build:gradle:3.1.x | 4.4 | 4.4 | Flutter 1.x |
com.android.tools.build:gradle:3.2.x | 4.6 | 4.6 | Flutter 1.x |
com.android.tools.build:gradle:3.3.x | 4.10.1 | 4.10.1 | Flutter 1.x |
com.android.tools.build:gradle:3.4.x | 5.1.1 | 5.1.1 | Flutter 1.x |
com.android.tools.build:gradle:3.5.x | 5.4.1 | 5.4.1 | Flutter 1.x |
com.android.tools.build:gradle:3.6.x | 5.6.4 | 5.6.4 | Flutter 1.x-2.x |
com.android.tools.build:gradle:4.0.x | 6.1.1 | 6.1.1 | Flutter 1.x-2.x |
com.android.tools.build:gradle:4.1.x | 6.5 | 6.5 | Flutter 2.x |
com.android.tools.build:gradle:4.2.x | 6.7.1 | 6.7.1 | Flutter 2.x |
com.android.tools.build:gradle:7.0.x | 7.0 | 7.0 | Flutter 2.5+ |
com.android.tools.build:gradle:7.1.x | 7.2 | 7.2 | Flutter 2.10+ |
com.android.tools.build:gradle:7.2.x | 7.3.3 | 7.3.3 | Flutter 3.0+ |
com.android.tools.build:gradle:7.3.x | 7.4 | 7.4 | Flutter 3.0+ |
com.android.tools.build:gradle:7.4.x | 7.5 | 7.5 | Flutter 3.3+ |
com.android.tools.build:gradle:8.0.x | 8.0 | 8.0 | Flutter 3.10+ |
Gradle 文件演进变化
1. Gradle 4.x 到 5.x 时期
传统 Groovy 脚本 ([build.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle))
// 项目级 build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
[gradle-wrapper.properties](file:///Users/goals/GitHub/Android/flutter_module/android/gradle/wrapper/gradle-wrapper.properties)
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
2. Gradle 6.x 时期
[build.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
[settings.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/settings.gradle)
include ':app'
rootProject.name = 'myapp'
3. Gradle 7.x 时期
[build.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
[settings.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/settings.gradle)
include ':app'
rootProject.name = 'myapp'
// 新增插件管理块
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
4. Gradle 8.x 时期
[build.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
plugins {
id 'com.android.application' version '8.0.0' apply false
id 'com.android.library' version '8.0.0' apply false
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
}
allprojects {
repositories {
google()
mavenCentral()
}
}
[settings.gradle](file:///Users/goals/GitHub/Android/flutter_module/android/settings.gradle)
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = 'myapp'
include ':app'
Gradle Kotlin DSL (.kts) 演进变化
Gradle 5.x-6.x 时期
[build.gradle.kts](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:4.0.0")
}
}
allprojects {
repositories {
google()
jcenter()
}
}
Gradle 7.x 时期
[build.gradle.kts](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.0.0")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20")
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
[settings.gradle.kts](file:///Users/goals/GitHub/Android/flutter_module/android/settings.gradle)
include(":app")
rootProject.name = "myapp"
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
Gradle 8.x 时期
[build.gradle.kts](file:///Users/goals/GitHub/Android/flutter_module/android/build.gradle)
plugins {
id("com.android.application") version "8.0.0" apply false
id("com.android.library") version "8.0.0" apply false
id("org.jetbrains.kotlin.android") version "1.8.0" apply false
}
allprojects {
repositories {
google()
mavenCentral()
}
}
[settings.gradle.kts](file:///Users/goals/GitHub/Android/flutter_module/android/settings.gradle)
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "myapp"
include(":app")
主要变化总结
- 仓库迁移:从
jcenter()迁移到mavenCentral() - 插件声明方式:从
buildscript块迁移到plugins块 - 依赖管理:引入
dependencyResolutionManagement - Kotlin DSL:从 Groovy 脚本迁移到 Kotlin 脚本
- 版本要求:AGP 和 Gradle 版本要求越来越严格
对于您的 Flutter 项目,建议使用与 Flutter SDK 版本兼容的 Gradle 和 AGP 版本组合。
更多推荐

所有评论(0)