迁移至 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-version X.Y

此标记可防止在相关下游代码准备好整合 Kotlin 2.0 之前使用新的 API。

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

更具针对性的方法

除了使用 Kotlin 兼容性标志之外,我们还建议您查看 Kotlin 版本说明,并选择要保留从要升级的版本继承的行为。Kotlin 在每个版本的兼容性指南中提供了一系列破坏性更改以及可设置为保留原始行为的标志: