Android Gradle 插件 8.10 版本说明

JCenter 仓库于 2021 年 3 月 31 日变为只读。有关详情,请参阅JCenter 服务更新

Android Studio 构建系统基于 Gradle,Android Gradle 插件添加了多项特定于构建 Android 应用的功能。虽然 Android Gradle 插件 (AGP) 通常与 Android Studio 同步更新,但该插件(以及 Gradle 系统的其余部分)可以独立于 Android Studio 运行并单独更新。

本页面介绍了如何保持 Gradle 工具最新,以及最近更新的内容。如需查看以前的 Android Gradle 插件版本的版本说明,请参阅以前的版本说明

如需了解此版本 Android Gradle 插件中已修复的问题,请参阅已关闭的问题

如需查看 Android Gradle 插件即将发生的重大更改的高级摘要,请参阅 Android Gradle 插件路线图

有关如何使用 Gradle 配置 Android 构建的详细信息,请参阅以下页面

有关 Gradle 构建系统的更多信息,请参阅Gradle 用户指南

更新 Android Gradle 插件

更新 Android Studio 时,你可能会收到自动将 Android Gradle 插件更新到最新可用版本的提示。你可以选择接受更新,也可以根据项目的构建要求手动指定版本。

你可以在 Android Studio 的 File > Project Structure > Project 菜单中指定插件版本,也可以在顶级 build.gradle.kts 文件中指定。插件版本适用于在该 Android Studio 项目中构建的所有模块。以下示例从 build.gradle.kts 文件将插件设置为 8.10.0 版本

Kotlin

plugins {
    id("com.android.application") version "8.10.0" apply false
    id("com.android.library") version "8.10.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.20" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.10.0' apply false
    id 'com.android.library' version '8.10.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
}

注意: 你不应在版本号中使用动态依赖项,例如 'com.android.tools.build:gradle:8.10.+'。使用此功能可能会导致意外的版本更新,并难以解决版本差异。

如果指定的插件版本尚未下载,Gradle 会在你下次构建项目或从 Android Studio 菜单栏中点击 File > Sync Project with Gradle Files 时下载它。

更新 Gradle

更新 Android Studio 时,你可能会收到更新 Gradle 到最新可用版本的提示。你可以选择接受更新,也可以根据项目的构建要求手动指定版本。

下表列出了每个版本的 Android Gradle 插件所需的 Gradle 版本。为了获得最佳性能,你应该使用 Gradle 和插件的最新版本。

插件版本最低要求的 Gradle 版本
8.108.11.1
8.98.11.1
8.88.10.2
8.78.9
8.68.7
8.58.7
8.48.6
8.38.4
8.28.2
8.18.0
8.08.0

旧版本

插件版本所需的 Gradle 版本
7.47.5
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

你可以在 Android Studio 的 File > Project Structure > Project 菜单中指定 Gradle 版本,也可以使用命令行更新 Gradle 版本。推荐的方法是使用 Gradle Wrapper 命令行工具,该工具会更新 gradlew 脚本。以下示例使用 Gradle Wrapper 将 Gradle 版本设置为 8.10。请注意,你需要运行此命令两次,才能同时升级 Gradle 本身和 Gradle Wrapper(详情请参阅升级 Gradle Wrapper)。

gradle wrapper --gradle-version 8.10

然而,在某些情况下,这可能会失败,例如如果你刚刚更新了 AGP,而它不再与当前的 Gradle 版本兼容。在这种情况下,你需要编辑 gradle/wrapper/gradle-wrapper.properties 文件中的 Gradle 发行版引用。以下示例在 gradle-wrapper.properties 文件中将 Gradle 版本设置为 8.10。

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.10-bin.zip
...

Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建系统基于 Gradle,Android Gradle 插件 (AGP) 添加了多项特定于构建 Android 应用的功能。下表列出了每个版本的 Android Studio 所需的 AGP 版本。

Android Studio 版本 所需的 AGP 版本
Narwhal 功能更新 | 2025.1.2 4.0-8.12
Narwhal | 2025.1.1 3.2-8.11
Meerkat 功能更新 | 2024.3.2 3.2-8.10
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

旧版本

Android Studio 版本 所需的 AGP 版本
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

有关 Android Gradle 插件新功能的更多信息,请参阅Android Gradle 插件版本说明

适用于 Android API 级别的最低工具版本

对于特定的 API 级别,Android Studio 和 AGP 都有最低版本要求。使用低于项目 targetSdkcompileSdk 所要求的 Android Studio 或 AGP 版本,可能会导致意外问题。我们建议使用最新预览版 Android Studio 和 AGP 来处理以 Android OS 预览版为目标版本的项目。你可以将预览版 Android Studio 与稳定版并行安装

Android Studio 和 AGP 的最低版本如下

API 级别 最低 Android Studio 版本 最低 AGP 版本
36.0 Meerkat | 2024.3.1 Patch 1 8.9.1
35 Koala 功能更新 | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

版本控制变更(2020 年 11 月)

我们正在更新 Android Gradle 插件 (AGP) 的版本编号,以便更紧密地匹配底层 Gradle 构建工具。

以下是显著的变更

  • AGP 现在将使用语义版本控制,并且破坏性更改将以主要版本为目标。

  • 每年会发布一个主要版本的 AGP,与 Gradle 的主要版本对齐。

  • AGP 4.2 之后的版本将是 7.0 版,并且需要升级到 Gradle 7.x 版。AGP 的每个主要版本都需要底层 Gradle 工具进行主要版本升级。

  • API 将提前约一年废弃,同时提供替换功能。废弃的 API 将在大约一年后(在随后的主要更新中)移除。

兼容性

Android Gradle 插件 8.10 支持的最高 API 级别是 API 级别 35。其他兼容性信息如下

最低版本 默认版本 注意
Gradle 8.11.1 8.11.1 如需了解详情,请参阅更新 Gradle
SDK Build Tools 35.0.0 35.0.0 安装配置 SDK Build Tools。
NDK 不适用 27.0.12077973 安装配置不同版本的 NDK。
JDK 17 17 如需了解详情,请参阅设置 JDK 版本

已修复的问题

Android Gradle 插件 8.10.0

已修复的问题
Android Gradle 插件
AGP 应该声明它支持即将发布的 API 35
启用统计信息后 AndroidComponentsExtension.addSourceSetConfigurations 损坏
在 AGP 8.8.0 中,Project ':app' 无法使用孤立项目设置访问 'Project.group' 和 'Project.version'
初始化脚本 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle' 行:162
初始化脚本 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle' 行:162
无法剥离以下库,按原样打包它们
添加对向 R8 传递“孤立拆分”信息 的支持
从 Android Studio 运行应用时,应用崩溃并出现 NoClassDefFoundError 和 ClassNotFoundException
Android Gradle 插件:避免在 PackageRenderscriptTask 和 ProcessJavaResTask 中覆盖 Sync.getDestinationDir()
对单元测试使用合并的 Java 资源
孤立项目:DeclarativeSchemaModel 序列化错误
Dexer (D8)
Baklava 的 android.os.Build.VERSION_CODES_FULL 向后移植不正确
AutoClosable 脱糖不再报告 ExecutorService.close 受支持
Lint
密封接口上 `@Parcelize` 注解的 Lint 警告错误
AS 2024.3.1.4 在编辑 Kotlin 文本时偶尔会卡死。
CredentialManagerSignInWithGoogle 的 Lint 误报错误
Aligned16KB Lint 检查中的 ConcurrentModificationException
Lint: AGP 8.10.0-alpha05 触发大量 SyntheticAccessor 误报
使能够在测试源上启用 NewApi
在 Android Studio 中进行代码检查后,按“LintIdeFix”按钮有什么效果
警告消息文本中的错误:“不必要;此处 Build.VERSION.SDK_INT >= Build.VERSION_CODES.O 永远不会为 true(SDK_INT ≥ 26 且 < 31)”
代码缩减器 (R8)
更新到 AGP 8.9.0 后无法生成签名 APK
在分配站点分析先写后读属性在生成类文件时遇到错误
R8 代码缩减器 8.6.*、8.7.*、8.8.0 版本中关于 Java SPI 的问题
类初始化中安全转换的 ClassCastException
AGP 8.9 中的资源缩减问题导致动态功能模块中资源缺失
无法调用 com.android.tools.r8.internal.H5.x()

Android Gradle 插件 8.10.1

已修复的问题
Android Gradle 插件
使用 AGP 在非默认构建类型中明确启用设备测试不起作用
代码缩减器 (R8)
将 Kotlin 更新到 2.1.20 后编译即时应用时出现 NullPointerException
[AGP]: 错误:R8:java.lang.OutOfMemoryError:所需的数组长度 2147483638 + 196 过大