Переход на 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