На этой странице вы найдете информацию о совместимости версий Kotlin с Navigation SDK, а также инструкции по переходу на более новую версию.
Требования к версии Kotlin для Navigation SDK
В таблице ниже указаны требования к версии Kotlin и рекомендуемые версии AGP и Gradle для последних версий Navigation SDK.
| Версия Navigation SDK | Версия Kotlin (обязательно) | Версии плагина Android Gradle (AGP) и Gradle (рекомендуется) |
|---|---|---|
| 8.0 и более поздних версий | 2.3.0 |
Важно! Для Navigation SDK 8.0 и более поздних версий AGP 9.0.1 – это минимальное требование, а не рекомендация. SDK объявляет |
| 7.7–7.9 | 2.3.0 |
|
| 7.3–7.6 | 2.2.10 |
|
| 6.3–7.2 | 2.1 |
|
| 6.0–6.2 | 2.0 |
|
| 5.1–5.99.1 | 1.9 | Рекомендуем использовать AGP 7.3 или более поздней версии, в которой есть обходное решение для JDK-8272564. |
Совместимость версий Kotlin
Kotlin 2.3 поддерживает обратную совместимость с Kotlin 2.2. Это означает, что если вы уже используете Kotlin 2.2 с Navigation SDK, вы сможете перейти на Kotlin 2.3 без необходимости устранять все критические изменения. Однако это относится только к стабильным функциям языка. Если вы используете альфа-, бета- или экспериментальные функции на языке Kotlin, то при обновлении вам может потребоваться внести дополнительные изменения.
Как упростить переход: параметры совместимости с Kotlin
В Kotlin есть два флага, которые помогают ограничить критические изменения: https://kotlinlang.org/docs/compatibility-modes.html.
language-version X.Y
Этот флаг отменяет критические изменения в поведении предыдущей версии Kotlin.
Например, если вы используете Kotlin 2.2, то можете указать [ -
language-version 2.2], и новые критические изменения не будут применяться.
android {
kotlinOptions {
languageVersion = '2.2'
}
}
api-version X.Y
Этот флаг вызывает ошибку сборки Gradle, когда используется API из версии Kotlin, которая новее, чем apiVersion.
android {
kotlinOptions {
apiVersion = '2.2'
}
}
Более целенаправленный подход
Помимо использования флагов совместимости Kotlin, мы рекомендуем ознакомиться с примечаниями к выпуску Kotlin и выбрать поведение, которое вы хотите сохранить из версии, с которой вы обновляетесь. В руководствах по совместимости для каждой версии Kotlin есть список критических изменений и флагов, которые можно установить, чтобы сохранить исходное поведение.
- Руководство по совместимости с версией 2.0
- Руководство по совместимости с версией 2.1
- Руководство по совместимости с версией 2.2
- Руководство по совместимости с версией 2.3
Будущие обновления Kotlin
Новая версия Kotlin (то есть версия языка) выходит каждые шесть месяцев. Обычно через один-два месяца после этого Google начинает использовать последнюю версию по умолчанию в своих продуктах. Предыдущие версии Kotlin содержали критические изменения, из-за которых пользователям Navigation SDK приходилось обновлять его до более новой версии. Поэтому мы рекомендуем планировать обновление Kotlin каждые 6 месяцев при переходе на последнюю версию Navigation SDK.