遷移至 Kotlin 2.0
如果您使用的是 Android 3.0 以上版本的 Consumer SDK,請務必升級至 Kotlin 2.0。本頁提供相關指南,協助您輕鬆轉換至新版 Kotlin。
Gradle 和 AGP 相容性
Kotlin 2.0 對於 Gradle 和 Android Gradle 外掛程式 (AGP) 版本的最低和最高版本有相關規定。請確保專案符合 Kotlin 2.0 的下列需求。
Consumer SDK 3.0 以上版本的 AGP 最低版本
使用 Consumer SDK 3.0 時,必須使用 AGP 7.3 以上版本。
完整 R8 模式
消費者版 SDK 第 3 版以下不支援完整 R8 模式。如果應用程式指定 AGP 8.0 以上版本,您必須明確停用完整 R8 模式。
# settings.gradle
android.enableR8.fullMode=false
Kotlin 版本相容性
Kotlin 支援與前三個語言版本的回溯相容性。 也就是說,如果您已搭配使用 Kotlin 1.7 以上版本和 Consumer SDK,應該就能升級至 Kotlin 2.0,而不必解決所有重大變更。不過,Kotlin 相容性僅適用於穩定的語言功能。 如果您在 Kotlin 語言中使用 Alpha 版、Beta 版或實驗性功能,升級時可能需要進行額外變更。
Kotlin 相容性標記
如上一節所述,升級時,Kotlin 最多支援 3 個舊版語言。Kotlin 提供兩個旗標,可協助限制重大變更:
語言版本 X.Y
這個標記會將重大變更還原為舊版 Kotlin 的行為。
舉例來說,如果您使用 Kotlin 1.7,可以指定 [ -
language-version 1.7]
,這樣新的重大變更就不會生效:
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version X.Y
這個標記可防止在相依的下游程式碼準備好併入 Kotlin 2.0 之前,使用新的 API。
android {
kotlinOptions {
apiVersion = '1.7'
}
}
更精準的策略
除了使用 Kotlin 相容性標記外,我們建議您查看 Kotlin 版本資訊,並從要升級的版本中選擇要保留的行為。Kotlin 會在每個版本的相容性指南中,提供重大變更清單,以及可設定的旗標,以便保留原始行為: