Android Gradle 插件 8.8.0(2025 年 1 月)

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

兼容性

Android Gradle 插件 8.8 支持的最高 API 级别为 API 级别 35。 以下是更多兼容性信息:

最低版本 默认版本 备注
Gradle 8.10.2 8.10.2 如需了解详情,请参阅更新 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.8.2

已修复的问题
Android Gradle 插件
初始化脚本“C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle”第 162 行
缩减器 (R8)
升级到 AGP 8.8 后,Gson ProGuard 无法正常运行
java.lang.VerifyError:验证程序拒绝类
使用 AGP 8.10.0-alpha04 中包含的 R8 进行缩减时,Leanback 崩溃

Android Gradle 插件 8.8.1

已修复的问题
Dexer (D8)
添加 OpenJDK 23 以进行测试
缩减器 (R8)
java.lang.AbstractMethodError:接收器类 [...]$$Lambda$[...] 未定义或继承接口 [...] 的已解析方法 [...] 的实现
Enqueuer 中与记录 DexCallSite 相关的 NPE
调用 job?.cancel 时,R8 8.7.18 会导致运行时 null 指针异常
java.lang.NoClassDefFoundError:无法解析 Lkotlin/LazyThreadSafetyMode
Monzo 在摇树(优化)中似乎使用了过多的时间
AGP 8.8 无法发布 build:R8:java.lang.NullPointerException:无法读取字段“b”,因为“com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)”的返回值为空`

Android Gradle 插件 8.8.0

已修复的问题
Android Gradle 插件
考虑将 JacocoTransform 的输入类型注释为 @Classpath
com.android.build.api.variant.GeneratesApk 应公开 minSdk
com.android.settings 插件无法识别 targetSdk
SourceDirectories.addGeneratedSourceDirectory 对多个变体不友好
实现用于停用 AGP 最低版本检查的标志
AGP 与配置 Kotlin 编译器选项的交互令人困惑
AGP 应在 com.android.test 项目中为目标项目 APK 公开 BuiltArtifactLoader
[AGP] Lazy SdkComponents.ndkDirectory 提供方无法生成值,但 eager android.ndkDirectory API 可以正常运行
build 选项:添加新的“Build Run configuration”选项并将其设为默认选项
使用 android.enableBuildConfigAsBytecode=true 时,无法在单元测试中解析 BuildConfig
从软件包生成的 APK 不考虑 Privacy Sandbox 支持
com.android.settings 插件无法识别 targetSdk
Dexer (D8)
Desugar 库 2.1.0 不适用于 AGP 8.5.2
lint
KtAnalysisSessionProvider 与 8.7.0-alpha04 中引入的 lint 检查不兼容
将 PackageManager.ResolveInfoFlags.of 与 Kotlin 结合使用时,出现“假正例”WrongConstant
设置 http 或 https intent-filter 架构时,出现“必须指定至少一个主机”lint 错误
在更多情况下处理 UnknownNullness lint 的类型使用注释
AGP 8.6.1:回归 - 在 Kotlin 中使用 @LongDef 内的 [Int].toLong() 时,出现 WrongConstant lint 失败
AGP 8.7.0 - NavOptionsBuilder.popUpTo 上的 Lint 假正例 RestrictedApi
WrongConstant lint 出现两次
Android Studio 未捕获“MonochromeLauncherIcon:未定义单色图标”警告
AbstractAnnotationDetector 检查了错误的重载函数/构造函数
Lint ImportAliasTestMode 未为顶级函数创建导入别名
WrongConstant lint 出现两次
AGP 8.8 中出现新的 ObsoleteSdkInt lint 警告
lint 检查误报:android.permission.SCHEDULE_EXACT_ALARM 仅授予系统应用
在 Android Studio 中使用 .hasRoute(Route::class) 时,K2 模式会抛出 RestrictedApi 警告
lint 集成
评估后未找到 lint 变体任务
导入包含实现文件的 AAR 文件时,lint 失败