Переход на Kotlin 2.0
Если вы используете Consumer SDK для Android версии 3.0 или более поздней, вам необходимо перейти на Kotlin 2.0. На этой странице вы найдете инструкции, которые помогут вам перейти на новую версию Kotlin.
Совместимость Gradle и AGP
У Kotlin 2.0 есть требования к минимальной и максимальной версиям Gradle и плагина Android Gradle (AGP). Убедитесь, что ваш проект соответствует следующим требованиям для Kotlin 2.0.
Минимальная версия AGP для Consumer SDK 3.0+
Для Consumer SDK 3.0 требуется AGP 7.3+.
Полный режим R8
Consumer SDK версии 3 и ниже не поддерживает полный режим R8. Если ваше приложение предназначено для AGP 8.0 или более поздней версии, вам нужно явно отключить полный режим R8.
# settings.gradle
android.enableR8.fullMode=false
Совместимость версий Kotlin
Kotlin поддерживает обратную совместимость с тремя предыдущими версиями языка. Это значит, что если вы уже используете Kotlin 1.7 или более поздней версии с Consumer SDK, то сможете перейти на Kotlin 2.0 без необходимости устранять все критические изменения. Однако совместимость с Kotlin распространяется только на стабильные функции языка. Если вы используете альфа-, бета- или экспериментальные функции языка Kotlin, при обновлении вам может потребоваться внести дополнительные изменения.
Флаги совместимости с Kotlin
Как отмечалось в предыдущем разделе, Kotlin поддерживает до трех предыдущих версий языка при обновлении. В Kotlin есть два флага, которые помогают ограничить количество критических изменений:
language-version X.Y
Этот флаг отменяет критические изменения в поведении предыдущей версии Kotlin.
Например, если вы используете Kotlin 1.7, можно указать [ -
language-version 1.7], и новые критические изменения больше не будут применяться:
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version X.Y
Этот флаг предотвращает использование новых API до того, как зависимый нисходящий код будет готов к интеграции Kotlin 2.0.
android {
kotlinOptions {
apiVersion = '1.7'
}
}
Более точный подход
Помимо использования флагов совместимости Kotlin, мы рекомендуем ознакомиться с примечаниями к выпуску Kotlin и выбрать поведение, которое вы хотите сохранить из версии, с которой вы обновляетесь. В руководствах по совместимости для каждой версии Kotlin есть список критических изменений и флагов, которые можно задать, чтобы сохранить исходное поведение:
- Руководство по совместимости с версией 1.8
- Руководство по совместимости версии 1.9
- Руководство по совместимости с версией 2.0