Android Gradle 插件 8.5.0 是一个主要版本,包含各种新功能和改进。
兼容性
Android Gradle 插件 8.5 支持的 API 级别上限为 API 级别 34。以下是其他兼容性信息:
|
最低版本 |
默认版本 |
备注 |
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.5.0
已修复的问题 |
Android Gradle 插件 |
AAPT:错误: 标记中的属性“package”不是有效的 Android 软件包名称:“butterknife”。
|
AGP 8.3 会破坏 zipApksFor 任务
|
当 sdk 提供程序类名称为空时,Privacy Sandbox Proguard 规则生成会失败
|
Compose 预览无法解析传递依赖项中的类
|
JavaPreCompileTask 在计算非增量注解处理器时会包含 KSP 类路径依赖项
|
任务“:app:generateDebugLocaleConfig”的执行失败。
|
由于缺少嵌套成员,带 Java 11 目标的 DexingNoClasspathTransform (minSdk >= 24) 执行失败
|
使用 `android.useFullClasspathForDexingTransform = true` 时,build 会失败并显示“Found multiple transforms that can produce a variant”
|
在有和没有 K2 UAST 的情况下运行 lint 时出错
|
|
lint |
|
lint 集成 |
|
Android Gradle 插件 8.5.1
已修复的问题 |
Android Gradle 插件 |
[Koala 2024.1.2 Canary 版 2] 在分屏 APK 上运行基准配置文件模块时出错
|
|
Android Gradle 插件 8.5.2
已修复的问题 |
Android Gradle 插件 |
AGP 8.5:运行了更多“mergeDebugResources”任务,导致构建速度变慢
|
通过 Variant API 添加 srcs 目录无法正常运行
|
|
Dexer (D8) |
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:SetTextI18n 会针对分配空字符串而发出警告。
|
|
缩减器 (R8) |
[r8 8.5]停用 API 建模时,r8 水平类合并会导致 Android5 上出现验证错误
|
使用 Gradle 插件 8.4.0/8.5.0 构建的 Wear OS 版本可能会导致 java.lang.IllegalAccessError
|
[r8 8.5] 垂直类合并导致运行时 NPE
|
使用 AGP 8.6.0-alpha06 进行 Gradle 同步失败,并在 R8 中显示“Unexpected backport missing from Android U”错误
|
执行时,由 R8 生成的 dex 文件显示“Unable to find static main(String[]) in 'Test'”(无法在“Test”中找到静态 main(String[]))
|
由 R8 和 D8 打包的程序之间的行为不同
|
R8 (AGP 8.5.0 及更高版本) 会失败,并显示错误“Unexpected rewriting of item: ... to two distinct items:...”(意外将项“...”重写为两个不同的项“...”)
|
R8 处理错误可能由右移运算符导致
|
更新到 Kotlin 2.0 后出现 R8 NullPointer
|
|