
Android Studio Gradle 版本兼容性适配(理论篇)

AGP 是什么
Gradle 的专用插件
AGP 是一个 Gradle 插件,专门为 Android 项目定制,添加了 Android 特有的构建能力(如编译资源、生成 APK/AAB 文件)
Gradle扩展
gradle plugin 是基于 Gradle 构建系统的扩展工具,是辅助 gradle 主程序构建项目的
所以,不同类型的项目有不同的插件,例如 Android 有 com.android.application
,java 有 java
和 java-library
,spring boot
有 org.springframework.boot
等等
Android 项目的构建入口
通过在 build.gradle
中应用 com.android.application
或 com.android.library
插件,告诉 Gradle “这是一个 Android 项目”,并启用对应的构建规则。
封装 Android 构建逻辑
AGP 内部封装了 Android SDK 的构建工具链(如 aapt、dx、zipalign),简化开发者配置。
所以你看,Gradle 就像一个机器的空壳子,你往里面加什么配件,他就会出现不同的工作机制
基于 Gradle 构建的项目发展历程
在我记忆里,最早的 基于 Gradle 构建的项目一共有三个样子,我们现在只考虑后两种,也就是有了 kotlin 之后的两种
AGP 7.0之前
Android Studio 2020.3.1 patch3(AGP 7.0.3)
先看 build.gradle(Project)
其中两个 classpath 是 plugin 的版本,一个是 AGP,另一个是 KGPKGP
KGP 是 Kotlin Gradle plugin
Gradle 要给所有需要编译的语言添加扩展。
以前用的是 java 的时候,需要添加 Java Gradle plugin。
使用 Compose 的时候,需要添加 Compose Gradle plugin然后看 build.gradle(app)
plugins
在 AGP 7.0+ 时,使用的 plugins,而是之前是 apply plugin
这是版本更新后的语法变更,不用过多在意Android Studio Ladybug Feature Drop | 2024.2.2 Patch 1 (AGP 8.8.1)
这个是出现在 gradle 使用 kotlin dsl 之后
还是先看 build.gradle(project)这里的
alias
是引用了/ProjectRootPath/gradle/libs.versions.toml
里面设置的变量,如图所示官方文档里提到了,您可以在 Android Studio 的 File > Project Structure > Project 菜单中指定插件版本,专指 AGP
build.gradle(app)
这里使用的还是alias
引用的还是/ProjectRootPath/gradle/libs.versions.toml
里面设置的变量
AGP Gradle 的兼容性列表
看过了 Gradle 配置项的变化之后,你应该明白了 Gradle 配置的关键在于 AGP 以及 KGP 的版本
而且你可能听过,不要随便升级 Gradle 的建议,而且 Gradle 更新比较频繁,甚至有时候 Android Studio 新创建的项目还有兼容性配置的问题,所以了解兼容性列表必不可少
插件版本 | 所需的最低 Gradle 版本 |
---|---|
8.9 | 8.11.1 |
8.8 | 8.10.2 |
8.7 | 8.9 |
8.6 | 8.7 |
8.5 | 8.7 |
8.4 | 8.6 |
8.3 | 8.4 |
8.2 | 8.2 |
8.1 | 8.0 |
8.0 | 8.0 |
7.4 | 7.5 |
7.3 | 7.4 |
7.2 | 7.3.3 |
7.1 | 7.2 |
7.0 | 7.0 |
4.2.0+ | 6.7.1 |
4.1.0+ | 6.5+ |
4.0.0+ | 6.1.1+ |
3.6.0 - 3.6.4 | 5.6.4+ |
3.5.0 - 3.5.4 | 5.4.1+ |
3.4.0 - 3.4.3 | 5.1.1+ |
3.3.0 - 3.3.3 | 4.10.1+ |
3.2.0 - 3.2.1 | 4.6+ |
3.1.0+ | 4.4+ |
3.0.0+ | 4.1+ |
2.3.0+ | 3.3+ |
2.1.3 - 2.2.3 | 2.14.1 - 3.5 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
1.5.0 | 2.2.1 - 2.13 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
Android Gradle 插件和 Android Studio 兼容性
Android Studio 版本 | 所需的 AGP 版本 |
---|---|
Meerkat (2024.3.1) | 3.2-8.9 |
Ladybug 功能更新(2024.2.2) | 3.2-8.8 |
Ladybug (2024.2.1) | 3.2-8.7 |
Koala 功能更新 (2024.1.2) | 3.2-8.6 |
Koala (2024.1.1) | 3.2-8.5 |
Jellyfish (2023.3.1) | 3.2-8.4 |
Iguana (2023.2.1) | 3.2-8.3 |
Hedgehog (2023.1.1) | 3.2-8.2 |
Giraffe (2022.3.1) | 3.2-8.1 |
Flamingo (2022.2.1) | 3.2-8.0 |
Gradle JDK 兼容列表
Gradle JDK 指的是运行 Gradle 所需的 JDK 环境,不是 build.gradle 里设置的 java 版本
在最新的 Android Studio 版本里,Gradle JDK 的设置步骤如下:
- 步骤一:打开 File → Settings
- 步骤二:在左侧导航栏选择 Build, Execution, Deployment → Build Tools → Gradle。
- 步骤三:在右侧的 Gradle JDK 选项中,点击下拉菜单或右侧的文件夹图标,选择已安装的 JDK 路径(如 JetBrains Runtime (JBR) 或自定义 JDK)
对于 Gradle JDK 的详细解释,可以查看 官网的这篇文章
官网的建议
在大多数情况下,我们建议使用 GRADLE_LOCAL_JAVA_HOME,这是新创建的项目的默认值。这样,您无需先打开项目,即可定义特定于项目的 JDK。
GRADLE_LOCAL_JAVA_HOME:使用 .gradle/config.properties 文件中的 java.home 属性,默认为 JetBrains 运行时(JBR)。
jdk 配置存储在项目的 .idea/gradle.xml 文件中的 gradleJvm 选项中,其 JDK 路径解析用于在通过 Android Studio 启动时运行 Gradle。
超级提示
我特别烦恼在选择 jdk 的时候,有重复的项目
你可以在下面地址找到重复项并删除 /Users/caolutao/Library/Application Support/Google/AndroidStudio[版本号]/options/jdk.table.xml

Android | Java | 支持的 API 和语言功能 |
---|---|---|
14(API 34) | 17 | 核心库 |
13 (API 33) | 11 | 核心库 |
12(API 32) | 11 | Java API |
- Title: Android Studio Gradle 版本兼容性适配(理论篇)
- Author: lucas
- Created at : 2025-03-05 19:57:46
- Updated at : 2025-04-01 21:08:13
- Link: https://darkflamemasterdev.github.io/2025/03/05/Android-Studio-Gradle-版本兼容性适配-理论篇/
- License: This work is licensed under CC BY-NC-SA 4.0.