Android Driver SDK 6.0 迁移指南

迁移到 DriverStatusListener 接口

在 Driver v5 中,我们宣布弃用 StatusListener 接口,改用 DriverStatusListener。今年,我们将正式删除 StatusListener 接口。如需了解如何迁移到新接口,请参阅 StatusListener 弃用

迁移到 Kotlin 2.0

如果您使用的是适用于 Android 6.0 及更高版本的 Driver SDK,则必须升级到 Kotlin 2.0。本页提供了一些指南,可帮助您轻松过渡到新版 Kotlin。

Gradle 和 AGP 兼容性

Kotlin 2.0 对 Gradle 和 Android Gradle 插件 (AGP) 版本的最低和最高版本要求。确保您的项目符合 Kotlin 2.0 的以下要求。

适用于 Driver SDK 6.0 及更高版本的 AGP 最低版本

我们建议将 AGP 7.3 及更高版本与 Driver SDK 6.0 搭配使用。

完整 R8 模式

Driver SDK v6 及更低版本不支持 Full R8 模式。如果您的应用以 AGP 8.0 或更高版本为目标平台,您必须显式停用完整 R8 模式。

# settings.gradle
android.enableR8.fullMode=false

Kotlin 版本兼容性

Kotlin 支持与三个之前的语言版本向后兼容。这意味着,如果您已经将 Kotlin 1.7 及更高版本与 Driver SDK 搭配使用,则应该能够升级到 Kotlin 2.0,而无需解决所有破坏性更改。不过,Kotlin 兼容性仅适用于稳定的语言功能。如果您使用的是 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 在每个版本的兼容性指南中提供了一系列破坏性更改以及可设置为保留原始行为的标志: