Совместимость версий Kotlin и миграция

На этой странице представлена ​​информация о совместимости версий Kotlin с Navigation SDK, а также рекомендации по переходу на более новую версию.

В следующей таблице приведены требования к версии Kotlin и рекомендуемые версии AGP и Gradle для последних версий Navigation SDK.

Версия навигационного SDK Версия Kotlin (обязательно) Android Gradle Plugin (AGP) и версии Gradle (рекомендуется)
6.2+ 2.1
  • АГП 8.7.3
  • Gradle 8.10.2
6.0 - 6.2 2.0
  • АГП 8.3.0
  • Gradle 8.4
5.1 - 5.99.1 1.9 Мы рекомендуем использовать AGP 7.3+, в котором есть обходной путь для JDK-8272564 .

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

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

Упрощение перехода: флаги совместимости с Kotlin

Kotlin предоставляет два флага, помогающих ограничить критические изменения: https://kotlinlang.org/docs/compatibility-modes.html

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

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

android {
   kotlinOptions {
       languageVersion = '2.0'
   }
}

API-версия XY

Этот флаг выдает ошибку сборки Gradle, если используется API из версии Kotlin, более новой, чем apiVersion .

android {
   kotlinOptions {
       apiVersion = '2.0'
   }
}

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

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

Будущие обновления Kotlin

Новая версия Kotlin (т.е. языковой релиз) выходит каждые 6 месяцев , и Google обычно включает последнюю версию по умолчанию в свои продукты через 1-2 месяца после этого. В предыдущих версиях Kotlin были критические изменения, из-за которых пользователям Navigation SDK приходилось обновляться до новой версии. В связи с этим мы рекомендуем вам планировать обновление Kotlin каждые 6 месяцев при переходе на последнюю версию Navigation SDK.