迁移至 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 提供两个标志来帮助限制破坏性更改

语言版本 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 在每个版本的兼容性指南中提供了一个破坏性更改列表以及可设置以保留原始行为的标志的列表: