Руководство по миграции Android Driver SDK 6.0

Переход на интерфейс DriverStatusListener

В версии Driver v5 мы объявили об отказе от интерфейса StatusListener в пользу DriverStatusListener . В этом году мы официально удаляем интерфейс StatusListener . Руководство по переходу на новый интерфейс см. в статье «Устаревание StatusListener .

Переход на Kotlin 2.0

Если вы используете Driver SDK для Android 6.0+, вам необходимо обновиться до Kotlin 2.0. Эта страница содержит рекомендации по упрощению перехода на новую версию Kotlin.

Совместимость с Gradle и AGP

Kotlin 2.0 предъявляет требования к минимальной и максимальной версиям Gradle и плагина Android Gradle (AGP). Убедитесь, что ваш проект соответствует этим требованиям для Kotlin 2.0.

Минимальная версия AGP для Driver SDK 6.0+

Мы рекомендуем использовать AGP 7.3+ с Driver SDK 6.0.

Полный режим R8

Driver SDK версии 6 и ниже не поддерживает режим Full R8. Если ваше приложение ориентировано на AGP 8.0+, необходимо явно отключить режим Full R8.

# settings.gradle
android.enableR8.fullMode=false

Совместимость версий Kotlin

Kotlin поддерживает обратную совместимость с тремя предыдущими версиями языка . Это означает, что если вы уже используете Kotlin 1.7+ с Driver SDK, вы сможете перейти на Kotlin 2.0 без необходимости устранения всех критических изменений. Однако совместимость с Kotlin распространяется только на стабильные функции языка . Если вы используете альфа-, бета- или экспериментальные функции языка Kotlin, вам может потребоваться внести дополнительные изменения при обновлении.

Флаги совместимости с Kotlin

Как отмечалось в предыдущем разделе, Kotlin поддерживает до трёх предыдущих версий языка при обновлении. Kotlin предоставляет два флага для ограничения критических изменений :

языковая версия XY

Этот флаг возвращает критические изменения к поведению предыдущей версии Kotlin. Например, если вы используете Kotlin 1.7, можно указать [ - language-version 1.7] , и новые критические изменения больше не вступят в силу:

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}
API-версия XY

Этот флаг предотвращает использование новых API до того, как зависимый нижестоящий код будет готов к включению Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Более целенаправленный подход

Помимо использования флагов совместимости с Kotlin, мы рекомендуем ознакомиться с заметками о выпуске Kotlin и выбрать поведение, которое вы хотели бы сохранить из версии, с которой выполняется обновление. Kotlin предоставляет список критических изменений и флагов, которые можно установить для сохранения исходного поведения, в руководствах по совместимости для каждой версии: