本頁提供 Navigation SDK 的 Kotlin 版本相容性資訊,以及遷移至新版本的指引。
Navigation SDK Kotlin 版本需求
下表概略說明 Kotlin 版本需求,以及近期版本 Navigation SDK 的建議 AGP 和 Gradle 版本。
Navigation SDK 版本 | Kotlin 版本 (必要) | Android Gradle 外掛程式 (AGP) 和 Gradle 版本 (建議) |
---|---|---|
6.2 以上 | 2.1 |
|
6.0 - 6.2 | 2.0 |
|
5.1 - 5.99.1 | 1.9 | 建議您使用 AGP 7.3 以上版本,因為該版本有 JDK-8272564 的解決方法。 |
Kotlin 版本相容性
Kotlin 2.1 支援與 Kotlin 2.0 的回溯相容性。也就是說,如果您已使用 Kotlin 2.0 搭配 Navigation SDK,應該可以升級至 Kotlin 2.1,而無須解決所有重大變更。不過,這項規定僅適用於穩定的語言功能。如果您使用 Kotlin 語言中的 Alpha 版、Beta 版或實驗功能,則升級時可能需要進行其他變更。
順利過渡:Kotlin 相容性標記
Kotlin 提供兩個標記,可協助限制重大變更:https://kotlinlang.org/docs/compatibility-modes.html
language-version X.Y
這個標記會將破壞變更還原為舊版 Kotlin 的行為。舉例來說,如果您使用的是 Kotlin 2.0,可以指定 [ -
language-version 2.0]
,這樣就不會再套用新的重大變更:
android {
kotlinOptions {
languageVersion = '2.0'
}
}
api-version X.Y
當使用比 apiVersion
新版更高的 Kotlin 版本 API 時,這個標記會擲回 Gradle 建構錯誤。
android {
kotlinOptions {
apiVersion = '2.0'
}
}
更精準的做法
除了使用 Kotlin 相容性標記之外,我們建議您查看 Kotlin 發布說明,並選擇要從要升級的版本保留哪些行為。Kotlin 在各個版本的相容性指南中,提供重大變更清單和可設定的標記,以便保留原始行為:
未來的 Kotlin 升級
Kotlin 會每 6 個月發布新版本 (即語言版本),而 Google 通常會在 1 至 2 個月後,將最新版本納入產品的預設版本。先前的 Kotlin 版本包含破壞性變更,因此 Navigation SDK 客戶必須升級至較新的版本。因此,建議您在採用最新的 Navigation SDK 版本時,每 6 個月進行一次 Kotlin 升級。