简介
Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。虽然 Android 插件通常会与 Android Studio 的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可独立于 Android Studio 运行并单独更新。
插件版本和gradle版本对应
gradle插件版本 | gradle版本 |
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3 - 2.2.3 | 2.14.1 - 3.5 |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0 - 3.2.1 | 4.6+ |
3.3.0 - 3.3.3 | 4.10.1+ |
3.4.0 - 3.4.3 | 5.1.1+ |
3.5.0 - 3.5.4 | 5.4.1+ |
3.6.0 - 3.6.4 | 5.6.4+ |
4.0.0+ | 6.1.1+ |
4.1.0+ | 6.5+ |
4.2.0+ | 6.7.1+ |
7.0 | 7.0+ |
7.1 | 7.2+ |
7.2 | 7.3.3+ |
7.4 | 7.3+ |
7.5 | 7.4+ |
8.0 | 8.0 |
Android Studio 对应的Gradle 插件版本
Android Studio 版本 | 所需插件版本 |
As 2.2.2 | 2.0.0 - 2.2.3 |
As 3.6 | 3.0 - 6.7.1 |
Arctic Fox | 2020.3.1 | 3.1-7.0 |
Bumblebee | 2021.1.1 | 3.2-7.1 |
Chipmunk | 2021.2.1 | 3.2-7.2 |
Dolphin | 2021.3.1 | 3.2-7.3 |
Electric Eel | 2022.1.1 | 3.2-7.4 |
Flamingo | 2022.2.1 | 3.2-8.0 |
重要版本更新
版本编号变更(2020 年 11 月)
我们将更新 Android Gradle 插件 (AGP) 的版本号,以使其更接近底层 Gradle 构建工具。 重要变更如下:
- AGP 现在将使用语义版本控制,并且重大变更将在主要版本中发布。
- 每年将发布一个 AGP 主要版本,与 Gradle 主要版本保持一致。
- AGP 4.2 之后的版本为版本 7.0,并且会要求升级到 Gradle 7.x 版。AGP 的每个主要版本都会要求在底层 Gradle 工具中进行主要版本升级。
- API 的废弃将提前大约一年进行,同时提供替代功能。废弃的 API 将在大约一年后的下次重大更新期间移除。
Gradle 7.3.0(2022 年 9 月)
Android Gradle 插件 7.3.0 是一个主要版本,包含各种新功能和改进。
最低版本 | 默认版本 | 备注 | |
Gradle | 7.4 | 7.4 | 如需了解详情,请参阅更新 Gradle。 |
SDK Build Tools | 30.0.3 | 30.0.3 | |
NDK | 不适用 | 23.1.7779620 | |
JDK | 11 | 11 | 如需了解详情,请参阅设置 JDK 版本。 |
7.0.0(2021 年 7 月)
最低版本 | 默认版本 | 备注 | |
Gradle | 7.0.2 | 7.0.2 | 如需了解详情,请参阅更新 Gradle。 |
SDK Build Tools | 30.0.2 | 30.0.2 | |
NDK | 不适用 | 21.4.7075529 | |
JDK | 11 | 11 | 如需了解详情,请参阅设置 JDK 版本。 |
需要 JDK 11 才能运行 AGP 7.0
Variant API 已稳定
针对库依赖项提高了 lint 性能
lint 任务现在可以显示为“UP-TO-DATE”
移除了 Android Gradle 插件构建缓存
不支持在 Java 资源文件夹中添加原生库
与 1.4.x Kotlin 多平台插件不兼容:
Android Gradle 插件 7.0.0 与 Kotlin 多平台插件 1.5.0 及更高版本兼容。使用 Kotlin 多平台支持的项目需要更新到 Kotlin 1.5.0 才能使用 Android Gradle 插件 7.0.0。解决方法之一是,您可以将 Android Gradle 插件降级到 4.2.x,不过建议不要这样做。
移除了依赖项配置
在 AGP 7.0 中,移除了以下配置(或依赖项范围):
compile
根据用例,该配置已被 api 或 implementation 替换。
同样适用于 *Compile 变体,例如debugCompile
。provided
该配置已被 compileOnly 替换。
同样适用于 *Provided 变体,例如releaseProvided
。apk
该配置已被 runtimeOnly 替换。publish
该配置已被 runtimeOnly 替换。在大多数情况下,AGP 升级助理会自动将您的项目迁移到新配置。
Gradle 4.2.0(2021 年 3 月)
最低版本 | 默认版本 | 备注 | |
Gradle | 不适用 | 如需了解详情,请参阅更新 Gradle。 | |
SDK Build Tools | |||
NDK | 不适用 | 21.4.7075529 |
新功能
此版本的 Android Gradle 插件包含以下新功能。
默认情况下使用 Java 语言版本 8
从 4.2 版本开始,AGP 将默认使用 Java 8 语言级别。Java 8 提供对一些更新语言功能(包括 lambda 表达式、方法引用和静态接口方法)的访问权限。如需查看受支持功能的完整列表,请参阅 Java 8 文档。
现在支持 v3 和 v4 签名
Android Gradle 插件 4.2 现在支持 APK v3 和 APK v4 签名格式。 如需在 build 中启用这两种格式之一或同时启用这两种格式,请将以下属性添加到模块级 build.gradle
或 build.gradle.kts
文件中:
// build.gradle
android {
...
signingConfigs {
config {
...
enableV3Signing true
enableV4Signing true
}
}
}
通过 APK v4 签名,您可以使用 Android 11 中的 ADB 增量 APK 安装快速部署大型 APK。此新标志负责部署过程中的 APK 签名步骤。
按变体配置应用签名
现在可以按变体在 Android Gradle 插件中启用或停用应用签名。
以下示例展示了如何在 Kotlin 或 Groovy 中使用 onVariants() 方法按变体设置应用签名:
androidComponents {
onVariants(selector().withName("fooDebug"), {
signingConfig.enableV1Signing.set(false)
signingConfig.enableV2Signing.set(true)
})
gradle插件版本 和 gradle版本 介绍以及他们的对应关系
1.1 版本代码:
gradle版本: distributionUrl = https\://services.gradle.org/distributions/gradle-4.6-all.zip
gradle插件版本: classpath 'com.android.tools.build:gradle:2.3.3'
1.2 位置
gradle版本: 项目/gradle/wrapper/gradle-wrapper.properties 文件中
gradle插件版本: 项目/build.gradle 文件中
总要地址: