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 迁移到版本目录。
代码补全和导航
当您以 TOML 文件格式修改版本目录或将依赖项从版本目录添加到 build 文件时,Android Studio 会提供代码补全功能。如需使用代码补全功能,请按 Ctrl + 空格键(在 macOS 中,按 Command + 空格键)。此外,您还可以按 Ctrl+b(在 macOS 中,按 Command+b)快速从应用的 build.gradle
文件中的依赖项引用导航到版本目录中声明的位置。
与“Project Structure”对话框集成
如果您的项目使用以 TOML 文件格式定义的版本目录,您可以在 Android Studio 中通过 Project Structure 对话框的 Variables 视图 (File > Project Structure > Variables) 修改已在其中定义的变量。 每个版本目录都有一个下拉列表,其中列出了该目录中的变量。若要修改变量,请点击其值,然后覆盖它。保存这些更改后,TOML 文件会进行相应的更新。
您还可以在 Project Structure 对话框的 Dependencies 视图 (File > Project Structure > Dependencies) 中更新依赖项。如需使用 Project Structure 对话框更新版本,请找到要修改的模块和依赖项,然后更新 Requested Version 字段。保存这些更改后,TOML 文件会进行相应的更新。请注意,如果依赖项版本是使用变量定义的,则直接以这种方式更新版本会将该变量替换为硬编码值。另请注意,无论您是否使用 Project Structure 对话框,从 build 文件中移除某个依赖项并不会从版本目录中移除该依赖项。
已知问题和限制
以下是 Android Studio 中的 Gradle 版本目录支持的已知问题或限制。
突出显示 Kotlin 脚本文件中的插件别名声明时出错:如果您添加
alias(libs.plugins.example)
形式的插件声明,编辑器会在libs
部分下方添加一条红色下划线。这是 Gradle 8.0 及更低版本中的已知问题,并将在未来的 Gradle 版本中解决。Android Studio 仅支持 TOML 格式的版本目录:目前,Android Studio 代码补全、导航和“Project Structure”对话框支持仅适用于以 TOML 文件格式定义的版本目录。不过,您仍然可以直接在
settings.gradle
文件中添加版本目录,并在项目中使用其依赖项。不支持 KTS build 文件导航:对于使用 Kotlin 脚本编写的 build 文件,尚不支持使用 Ctrl + 点击键(在 macOS 上,按 Command + 点击)前往版本目录中的依赖项定义。
Firebase Assistant 直接在构建脚本中添加依赖项:Firebase Assistant 可直接将依赖项添加到您的构建脚本中,而不是通过版本目录添加。
不支持“Find usages”功能:尚不支持在其他 build 文件中查找版本目录变量的使用情况,无论 build 文件是在 KTS 中还是 Groovy 中。也就是说,在版本目录中的变量定义上按住 Ctrl + 点击(在 macOS 上,按住 Command + 点击)不会转到使用该变量的 build 文件。
Android Studio 中的“Project Structure”对话框会显示多个目录文件(如果这些文件位于根
gradle
文件夹中),但不显示复合 build 的目录。例如,如果您有两个目录文件,一个用于应用,一个用于复合 build,则“Project Structure”对话框仅显示应用目录文件。您可以使用复合 build,但必须直接修改其 TOML 文件。
更多 SDK 数据分析:政策问题
对于在 Google Play SDK 索引中违反 Play 政策的公共 SDK,Android Studio 会在 build.gradle.kts
和 build.gradle
文件以及“Project Structure”对话框中显示 lint 警告。您应更新所有违反 Play 政策的依赖项,因为这些违规行为可能会导致您日后无法将应用发布到 Google Play 管理中心。这些违反政策警告是对 Android Studio 显示的过时版本警告的补充。
Android Studio compileSdk 版本支持
如果您的项目使用的 compileSdk
不受 Android Studio 当前版本支持,Android Studio 会显示警告。此外,我们还建议您改用支持项目所用 compileSdk
的 Android Studio 版本(如果有)。请注意,升级 Android Studio 可能还需要升级 AGP。如果当前版本的 AGP 不支持项目使用的 compileSdk
,AGP 还会在 Build 工具窗口中显示警告。
Lint 行为变更
从 Android Gradle 插件 8.3.0-alpha02 开始,在模块上运行 lint 时,系统会针对该模块的主要组件和测试组件运行单独的 lint 分析任务。我们进行这项更改是为了提高性能。
如需还原到之前的行为,请在 gradle.properties
文件中设置 android.experimental.lint.analysisPerComponent=false
。
默认开启精确资源缩减
精确资源缩减功能默认处于开启状态,用于从 resources.arsc
文件中移除未使用的条目并清除未使用的资源文件。启用此缩减功能后,资源表会缩减,且 APK 中只会包含引用的 res
文件夹条目。
如需关闭精确资源缩减,请在项目的 gradle.properties
文件中将 android.enableNewResourceShrinker.preciseShrinking
设置为 false
。