Kotlin 版本所需的 D8 和 R8 编译器版本

Android Gradle 插件 (AGP) 以及 D8 和 R8 编译器与来自 Kotlin 版本 1.3 及更高版本的类文件兼容。

D8 和 R8 编译器从版本 2.1.86(包含在 AGP 4.1 中)开始支持来自 Kotlin 版本 1.3 的类文件。对于来自 Kotlin 版本 1.4 及更高版本的类文件,每个 Kotlin 版本都有一个最低要求的 AGP 和 D8 以及 R8 版本。

下表显示了每个 Kotlin 版本所需的 AGP 和 D8 以及 R8 编译器的最早版本。

Kotlin 版本 最早的 AGP 版本 最早的 D8 和 R8 版本
1.3 4.1 2.1.86
1.4 7.0 3.0.76
1.5 7.0 3.0.77
1.6 7.1 3.1.51
1.7 7.2 3.2.47
1.8 7.4 4.0.48
1.9 8.0 8.0.27
2.0 8.5 8.5.10

表中列出的 AGP 版本会自动使用指定的 D8 和 R8 编译器版本。

当使用 Java 8+ API 反糖化 时,需要 AGP 版本 7.0(以及 D8 和 R8 版本 3.0.76)。R8 只能发出 Kotlin 元数据版本 1.4 及更高版本。当使用 R8 缩减具有来自 Kotlin 版本 1.3 的元数据的 Kotlin 库时,元数据将转换为 Kotlin 1.4 格式。对于 Kotlin 版本 1.4 及更高版本,R8 会保留版本。