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 |
表中列出的 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 會保留該版本。