遷移至 Kotlin 2.0

如果您使用 Android 6.0 以上版本的 Navigation SDK,則必須升級至 Kotlin 2.0。本頁內容說明如何輕鬆轉換至新版 Kotlin。

Gradle 和 AGP 相容性

Kotlin 2.0 對 Gradle 和 Android Gradle 外掛程式 (AGP) 版本有最低和最高版本需求。請確認專案符合 Kotlin 2.0 的這些需求。

Navigation SDK 6.0 以上版本的 AGP 最低版本

建議您搭配使用 AGP 7.3 以上版本和 Navigation SDK 6.0。我們已使用 AGP 8.3 和 Gradle 8.4 驗證 SDK,且 SDK 與 R8 的完整模式相容。

Kotlin 版本相容性

Kotlin 支援與前三個語言版本的回溯相容性。也就是說,如果您已使用 Kotlin 1.7 以上版本搭配 Navigation SDK,應該可以升級至 Kotlin 2.0,而無須解決所有重大變更。不過,這項規定僅適用於穩定的語言功能。如果您在 Kotlin 語言中使用 Alpha 版、Beta 版或實驗功能,在升級時可能需要進行其他變更。

緩和轉換:Kotlin 相容性標記

如上一節所述,在升級時,Kotlin 最多支援 3 種舊版語言。Kotlin 提供兩個標記來協助限制破壞性變更

language-version 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 提供破壞性變更的清單,以及可設為在各版本相容性指南中保留原始行為的標記: