Android Gradle 插件 8.7.0(2024 年 10 月)
Android Gradle 插件 8.7.0 是一个主要版本,包含各种新功能和改进。
兼容性
Android Gradle 插件 8.7 支持的最高 API 级别为 API 级别 35。以下是其他兼容性信息:
|
最低版本 |
默认版本 |
备注 |
“Gradle” |
8.9 |
8.9 |
“如需了解详情,请参阅更新 Gradle。” |
SDK Build Tools |
34.0.0 |
34.0.0 |
安装或配置 SDK Build Tools。 |
NDK |
不适用 |
27.0.12077973 |
“安装或配置其他版本的 NDK。” |
JDK |
17 |
17 |
“如需了解详情,请参阅设置 JDK 版本。” |
Lint 行为变更
从 Android Gradle 插件 8.7.0-alpha08 开始,如果使用 Gradle 运行 lint 时出现 LintError
,lint 分析任务会抛出异常。
此变更可防止在 build 缓存中缓存罕见错误。
遗憾的是,此更改会破坏在 lint 基准文件中包含真实 LintError
实例的项目的 build。错误消息包含有关哪些 lint 检查导致了问题的信息。在某些情况下,更新相应的库依赖项可能会解决问题。如果不是,您可以在库作者修复该问题之前停用有问题的 lint 检查。
修复的问题
Android Gradle 插件 8.7.0
已修复的问题 |
Android Gradle 插件 |
AGP 应声明其支持即将发布的 API 35
|
AGP 8.5:运行的“mergeDebugResources”任务更多,导致 build 速度变慢
|
将 ndk 27 设为 AGP 中的默认 NDK。
|
AGP 应声明其支持即将发布的 API 35
|
AGP 应声明其支持即将发布的 API 35
|
运行 Android lint 失败,并显示 NoSuchFileException
|
BuildType#initWith 会复制后处理块,但不会应用 ProGuard 配置
|
无法合并 foregroundServiceType 标记
|
运行 Android lint 失败,并显示 NoSuchFileException
|
|
lint |
Lint 应检查用作 ViewGroup 的无效对象
|
对于具有 null 主机名称的 URI,显示“android:host is missing”
|
KtAnalysisSessionProvider 与 8.7.0-alpha04 中引入的 lint 检查不兼容
|
使用 PackageManager.ResolveInfoFlags.of 和 Kotlin 时出现“假正例”WrongConstant
|
|
Android Gradle 插件 8.7.1
已修复的问题 |
Android Gradle 插件 |
|
lint |
AGP 8.6.1:回归 - 在 Kotlin 中使用 @LongDef 内的 [Int].toLong() 时出现 WrongConstant lint 失败
|
设置 http 或 https intent-filter 方案时出现“必须至少指定一个主机”lint 错误
|
|
Android Gradle 插件 8.7.2
已修复的问题 |
lint |
AGP 8.7.0 - Lint 在 NavOptionsBuilder.popUpTo 上出现 RestrictedApi 假正例
|
|
缩减器 (R8) |
[R8 8.6.27] 方法实现已替换为“throw null”
|
默认 Android ProGuard 文件与当前版本的 R8 搭配使用时会抛出警告
|
如果消息过大,MissingStartupProfileItemsDiagnostic 会因内存不足错误而导致 Gradle 客户端崩溃
|
|
Android Gradle 插件 8.7.3
已修复的问题 |
lint |
运行 lint 时,缺少许多分析 API 方法警告
|
误报 lint 检查:android.permission.SCHEDULE_EXACT_ALARM 仅授予系统应用
|
|
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-15。
[null,null,["最后更新时间 (UTC):2025-07-15。"],[],[]]