Android Gradle 插件 8.3.0(2024 年 2 月)

Android Gradle 插件 8.3.0 是一个主要版本,包含各种新的 功能和改进。

兼容性

Android Gradle 插件 8.3 支持的最高 API 级别为 API 级别 34。 以下是其他兼容性信息:

最低版本 默认版本 备注
Gradle 8.4 8.4 如需了解详情,请参阅更新 Gradle
SDK Build Tools 34.0.0 34.0.0 安装配置 SDK Build Tools。
NDK 不适用 25.1.8937393 安装配置其他版本的 NDK。
JDK 17 17 如需了解详情,请参阅设置 JDK 版本

以下是 Android Gradle 插件 8.3 中的新功能。

补丁版本

以下是 Android Studio Iguana 中的补丁版本列表 和 Android Gradle 插件 8.3。

Android Studio Iguana |2023.2.1 补丁 2 和 AGP 8.3.2(2024 年 4 月)

此项次要更新包含这些 bug 修复

Android Studio Iguana |2023.2.1 补丁 1 和 AGP 8.3.1(2024 年 3 月)

此项次要更新包含这些 bug 修复

对 Gradle 版本目录的支持

Android Studio 支持基于 TOML 的 Gradle 版本目录, 一项功能,让您可以在一个位置集中管理依赖项, 跨模块或项目的依赖项。Android Studio 现在简化了 通过编辑器建议以及与 Project Structure 对话框。了解如何 设置和配置 Gradle 版本目录 或如何 将 build 迁移到版本目录

代码补全和导航

当您在以下位置修改版本目录时,Android Studio 会提供代码补全功能: TOML 文件格式或将版本目录中的依赖项添加到 build 文件。若要使用代码补全功能,请按 Ctrl+空格键 (在 macOS 上,按 Command+空格键)。此外,您还可以 应用的 build.gradle 文件中对声明位置的依赖项引用 在版本目录中按 Ctrl+b (在 macOS 上,则使用 Command+b)。

添加依赖项时的代码补全

与“Project Structure”对话框集成

如果您的项目使用以 TOML 文件格式定义的版本目录,您可以 通过 Project Structure 对话框修改您在该位置定义的变量 Variables 视图 (File > Project Structure > Variables)。 对于每个版本目录,都有一个下拉列表列出 目录。要修改变量,请点击其值并覆盖该值。当您 保存这些更改,则 TOML 文件会进行相应更新。

“Project Structure”对话框中版本目录中的变量

您还可以在 Project Structure 对话框中更新依赖项 Dependencies 视图(File > Project Structure > Dependencies)。更新 使用 Project Structure 对话框,则进入该模块并 您要修改的依赖项,然后更新 Requested Version 字段。 在您保存这些更改后,TOML 文件也会随之更新。请注意,如果 依赖项版本是使用变量定义的,更新版本 会将该变量替换为硬编码值。还请注意 无论您是使用 Project Structure 对话框,也不会从版本中移除依赖项 目录。

“Project Structure”对话框中版本目录的依赖项

已知问题和限制

以下是 Gradle 版本目录的已知问题或限制 支持。

  • 突出显示 Kotlin 脚本文件中的插件别名声明时出错: 添加格式为 alias(libs.plugins.example) 的插件声明,即编辑器 在 libs 部分下方添加红色下划线。这是 Gradle 中的已知问题 版本 8.0 及更低版本,并且将在未来的 Gradle 版本中解决。

  • Android Studio 仅支持 TOML 格式的版本目录:目前 Android Studio 代码补全、导航和“Project Structure”对话框 支持仅适用于 TOML 文件中定义的版本目录 格式。不过,您仍然可以直接在 settings.gradle 文件,并在项目中使用其依赖项。

  • 不支持 KTS build 文件的导航:导航到依赖项 定义版本目录中的 Ctrl + 点击 尚不支持对 build 文件使用(在 macOS 上为 Command + 点击) 使用 Kotlin 脚本编写而成。

  • Firebase Assistant 直接在构建脚本中添加依赖项: Firebase Assistant 将依赖项直接添加到构建脚本中,而不是通过版本添加 目录。

  • "查找用法"功能不受支持:查找版本目录的使用情况 变量,无论该 build 文件是 或 Groovy 中提供。也就是说,使用 Ctrl+点击 (在 macOS 上,请在按住 Command 键的同时点击)某个版本中的变量定义 目录不指向使用该变量的 build 文件。

  • Android Studio 中的“Project Structure”对话框显示多个目录 文件,前提是这些文件位于根 gradle 文件夹中,但不显示 复合 build。 例如,如果您有两个目录文件 - 一个用于您的应用,另一个用于 复合 build -“Project Structure”对话框仅显示应用目录文件。 您可以使用复合 build,但必须直接修改其 TOML 文件。

更多 SDK 数据分析:违反政策的问题

Android Studio 会在 build.gradle.ktsbuild.gradle 中显示 lint 警告 文件以及 针对存在 Play 政策违规行为的公开 SDK 的“Project Structure”对话框 收录在 Google Play SDK 索引中。您应该更新 违反 Play 政策的依赖项,因为这些违规行为 您将来不得将应用发布到 Google Play 管理中心。政策 违规警告补充 过期版本警告 显示的内容

Android Studio compileSdk 版本支持

如果您的项目使用非专用 compileSdk,Android Studio 会显示警告。 当前版本的 Android Studio 支持的 SDK。(如果有) 建议迁移到支持 compileSdk 的 Android Studio 版本 项目所用的资源请注意 升级 Android Studio 可能还需要您升级 AGP。 如果 compileSdk,AGP 还会在 Build 工具窗口中显示警告 当前版本的 AGP 不受支持。

Lint 行为变更

从 Android Gradle 插件 8.3.0-alpha02 开始,在 模块,系统会针对主函数和测试代码运行不同的 lint 分析任务 每个部分进行这项更改是为了提升性能。 要还原为之前的行为,请将 您的android.experimental.lint.analysisPerComponent=false gradle.properties 文件。

默认启用精确的资源缩减

精确的资源缩减,从 resources.arsc 文件并清除未使用的资源文件,此设置默认处于开启状态。 启用此缩减功能后,您的资源表会缩小, 引用的 res 文件夹条目会包含在 APK 中。

如需关闭精确的资源缩减,请将 从android.enableNewResourceShrinker.preciseShrinking飞往false 项目的 gradle.properties 文件。