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.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] 延迟 SdkComponents.ndkDirectory 提供程序无法生成值,但提前 android.ndkDirectory API 有效
|
构建选项:添加了新的“Build Run configuration”(构建运行配置)选项,并将其设为默认选项
|
使用 android.enableBuildConfigAsBytecode=true 时,无法在单元测试中解析 BuildConfig
|
从 bundle 生成的 APK 不考虑 Privacy Sandbox 支持
|
com.android.settings 插件不识别 targetSdk
|
|
Dexer (D8) |
|
lint |
KtAnalysisSessionProvider 与 8.7.0-alpha04 中引入的 lint 检查不兼容
|
将 Kotlin 与 PackageManager.ResolveInfoFlags.of 搭配使用时,出现“假正例”WrongConstant
|
设置 http 或 https intent-filter 架构时出现“必须至少指定一个主机”lint 错误
|
在更多情况下处理 UnknownNullness lint 的类型使用注解
|
AGP 8.6.1:回归 - 在 Kotlin 中使用 @LongDef 内的 [Int].toLong() 时,lint 会失败并报告 WrongConstant
|
AGP 8.7.0 - 针对 NavOptionsBuilder.popUpTo 的 lint 假正例 RestrictedApi
|
WrongConstant lint 出现两次
|
Android Studio 未捕获“MonochromeLauncherIcon: Monochrome icon is not defined”警告
|
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 会失败
|
|
Android Gradle 插件 8.8.1
已修复的问题 |
Dexer (D8) |
|
缩减器 (R8) |
java.lang.AbstractMethodError: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
|
与记录 DexCallSite 相关的 Enqueuer 中的 NPE
|
调用 job?.cancel 时,R8 8.7.18 会导致运行时 null 指针异常
|
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
|
Monzo 似乎在树木摇晃时花费了过多时间
|
AGP 8.8 发布 build 失败:R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`
|
|
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: Verifier rejected class
|
使用 AGP 8.10.0-alpha04 中包含的 R8 进行缩减时,Leanback 会崩溃
|
|
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-04。
[null,null,["最后更新时间 (UTC):2025-03-04。"],[],[]]