Руководство по миграции на Android Consumer SDK 3.0

Переход на Kotlin 2.0

Если вы используете Consumer SDK для Android 3.0+, вам необходимо обновиться до Kotlin 2.0. На этой странице приведены инструкции, которые помогут упростить переход на новую версию Kotlin.

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

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

Минимальная версия AGP для Consumer SDK: 3.0+

Для работы Consumer SDK 3.0 требуется AGP версии 7.3 и выше.

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

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

# settings.gradle
android.enableR8.fullMode=false

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

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

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

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

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

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

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}
api-version XY

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

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

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

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