Android Gradle 插件 8.9.0(2025 年 3 月)

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

兼容性

Android Gradle 插件 8.9 支持的 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.9.0

已修复的问题
Android Gradle 插件
当 GMD 设置任务因磁盘空间不足而失败时,提供有实用价值的错误消息
com.android.settings 插件不识别 targetSdk
无用的错误“未指定 compileSdkVersion。Please add it to build.gradle"
“Build”菜单中缺少“Clean build”
或许可以让 AGP 的内置 Kotlin 支持自动添加 kotlin stdlib 依赖项
更新了 shouldConfigureKotlinPlatformAttribute,以处理内置的 Kotlin 支持
在 `checkTestedAppObfuscationRelease` 的错误消息中提供 Kotlin Gradle 语法
当未解析的依赖项可以改进时,会出现融合库错误
gradle.properties 中的系统属性不会传递到单独进程中的 R8 Gradle Worker
将 BuiltArtifact.outputFile 设为文件类型
未在合并的库中提供命名空间时,系统未提供合适的错误消息
AGP 7.1.0-alpha08 中的 lint 选项不允许使用标准输出
Android Gradle 插件:变体应公开源代码集名称
配置缓存对 TERM 环境变量的设置非常脆弱
启用统计信息后,AndroidComponentsExtension.addSourceSetConfigurations 会损坏
初始化脚本“C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle”第 162 行
启用统计信息后,AndroidComponentsExtension.addSourceSetConfigurations 会损坏
Dexer (D8)
java.lang.VerifyError: Verifier rejected class: [0x430] copy1 v2<-v264 type=Undefined cat=3
lint
运行 Lint Gradle 检查时 lint 会崩溃
lint 失败并抛出 InstantiationException,但 lint 堆栈轨迹中没有异常消息
lint 检查误报:android.permission.SCHEDULE_EXACT_ALARM 仅授予系统应用
应将 StringFormatInvalid 检查应用于 Compose stringResource 方法
RequiresFeature 注解不适用于 Kotlin 文件
kotlin android.os.Handler removeCallbacks Runnable
使用 shift 对常量进行定义时,出现 WrongConstant lint 错误
WrongConstant lint 出现两次
在 API 26 以下使用不受支持的 Java nio API 时发生运行时异常(没有 lint 错误)
lint 会阻止使用 RequiresApi,即使是在测试中的私有辅助方法中也是如此
在 Android Studio 中使用 .hasRoute(Route::class) 时,K2 模式会抛出 RestrictedApi 警告
lint 建议将测试中的 @RequiresExtension 替换为 @SdkSuppress,后者不支持 SDK 扩展
当 FrameLayout 与 fitSystemWindows 搭配使用来封装需要自定义内边距的子 RelativeLayout 时,Lint 会错误地报告不必要的嵌套布局。
CoarseFineLocation lint 规则未考虑 maxSdkVersion 属性
lint 8.7.3 中的 AppLinkSplitToWebAndCustom 是 UnknownIssue
lint 检查 StringEscapeDetector 在“\\”上崩溃
针对密封接口上的“@Parcelize”注解显示错误的 lint 警告
在编辑 Kotlin 文本时,AS 2024.3.1.4 会间歇性挂起。
lint 集成
构建 app bundle 时,lintVitalRelease 不会自动运行
缩减器 (R8)
升级到 AGP 8.8 后,Gson Proguard 无法正常运行
java.lang.VerifyError: Verifier rejected class
使用 AGP 8.10.0-alpha04 中包含的 R8 进行缩减时,Leanback 会崩溃

Android Gradle 插件 8.9.1

已修复的问题
Dexer (D8)
向 Baklava 向后移植 android.os.Build.VERSION_CODES_FULL 不正确
缩减器 (R8)
更新到 AGP 8.9.0 后无法生成签名 APK
在分配站点分析“先写入后读取”属性时,在生成类文件时会遇到错误
与版本 8.6.* 的 R8 缩减器中的 Java SPI 相关的问题8.7.*、8.8.0

Android Gradle 插件 8.9.2

已修复的问题
缩减器 (R8)
AGP 8.9 中的资源缩减问题导致动态功能模块中缺少资源
类初始化中的安全类型转换导致 ClassCastException
无法调用 com.android.tools.r8.internal.H5.x()