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

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

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

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

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

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

Облегчение перехода: флаги совместимости Kotlin

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

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

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

android {
   kotlinOptions {
       languageVersion = '2.1'
   }
}

api-version XY

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

android {
   kotlinOptions {
       apiVersion = '2.1'
   }
}

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

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

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

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