Android Consumer SDK 3.0 遷移指南

遷移至 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 v3 以下版本不支援完整 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 版本 X.Y

這個標記可防止在相依的下游程式碼準備好併入 Kotlin 2.0 之前,使用新的 API。

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

更精準的策略

除了使用 Kotlin 相容性標記外,我們建議您查看 Kotlin 版本資訊,並從要升級的版本中選擇要保留的行為。Kotlin 會在每個版本的相容性指南中,提供重大變更清單,以及可設定的旗標,以便保留原始行為: