Android Driver SDK 6.0 迁移指南

迁移到 DriverStatusListener 接口

在驱动程序 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 及更低版本不支持完整 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 在每个版本的兼容性指南中提供了一份重大变更列表,以及可用于保留原始行为的标志: