Android Gradle 插件 8.6.0 是一个主要版本,包含各种新功能和改进。
兼容性
Android Gradle 插件 8.6 支持的 API 级别上限为 API 级别 35。以下是其他兼容性信息:
|
最低版本 |
默认版本 |
备注 |
Gradle |
8.7 |
8.7 |
如需了解详情,请参阅更新 Gradle。 |
SDK Build Tools |
34.0.0 |
34.0.0 |
安装或配置 SDK Build Tools。 |
NDK |
不适用 |
26.1.10909125 |
安装或配置其他版本的 NDK。 |
JDK |
17 |
17 |
如需了解详情,请参阅设置 JDK 版本。 |
修复的问题
Android Gradle 插件 8.6.0
已修复的问题 |
Android Gradle 插件 |
AGP 7.0.0-alpha10 回归:databinding 处于启用状态时,无法应用插件“com.android.internal.library”
|
在有和没有 K2 UAST 的情况下运行 lint 时出错
|
系统未为变体的 androidTest 配置生成清单
|
AGP 8.4 会尝试在调试 build 上设置启动配置文件
|
[Koala 2024.1.2 Canary 版 2] 在分屏 APK 上运行基准配置文件模块时出错
|
清理/移除了 ProjectInfo
|
更新了 AGP DSL 中 `isIncludeAndroidResources` 的过时 kdoc
|
lint 会使用 res 目录,而无需添加任务依赖项
|
AGP 8.5:运行了更多“mergeDebugResources”任务,导致构建速度变慢
|
通过 Variant API 添加 srcs 目录无法正常运行
|
|
Dexer (D8) |
将 API 数据库更新为 Android 15(API 级别 35)
|
java.lang.VerifyError: Verifier rejected class com.pax.log.LogUtils: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) failed to verify
|
|
lint |
lint 不会针对带注解的注解的用法调用 visitAnnotationUsage
|
使用类型使用注解时出现 UnknownNullness lint 错误
|
[library desugar] lint shows false positive warning NewApi warnings with desugaring enabled
|
Credential Manager lint 警告在 Wear 上不正确
|
lint:SetTextI18n 会针对分配空字符串而发出警告。
|
|
lint 集成 |
|
缩减器 (R8) |
[r8 8.5]停用 API 建模时,r8 水平类合并会导致 Android5 上出现验证错误
|
使用 Gradle 插件 8.4.0/8.5.0 构建的 Wear OS 版本可能会导致 java.lang.IllegalAccessError
|
R8 会隐式将空成员子句替换为 () 的匹配项
|
[r8 8.5] 垂直类合并导致运行时 NPE
|
R8 处理错误可能由右移运算符导致
|
R8 (AGP 8.5.0 及更高版本) 会失败,并显示错误“Unexpected rewriting of item: ... to two distinct items:...”(意外将项“...”重写为两个不同的项“...”)
|
执行时,由 R8 生成的 dex 文件显示“Unable to find static main(String[]) in 'Test'”(无法在“Test”中找到静态 main(String[]))
|
由 R8 和 D8 打包的程序之间的行为不同
|
更新到 Kotlin 2.0 后出现 R8 NullPointer
|
|
Android Gradle 插件 8.6.1
已修复的问题 |
Dexer (D8) |
dex 任务/转换会生成非确定性的 classes.dex 内容
|
|
缩减器 (R8) |
R8 8.5.x 中的 SimpleInliningConstraintAnalysis 中存在 StackOverflowError
|
任务 :xxxx:minifyXXXReleaseWithR8 错误:R8: java.util.ConcurrentModificationException
|
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"
|
|