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 版本。請注意,AGP 會隨附 D8 和 R8,因此只有在 AGP 以外使用 D8 和 R8,或是覆寫隨附版本時,才需要指定 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 |
2.1 | 8.6 | 8.6.17 |
表中列出的 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 會保留該版本。