На этой странице представлена информация о совместимости версий Kotlin для Navigation SDK, а также рекомендации по переходу на более новую версию.
Требования к версии навигационного SDK Kotlin
В следующей таблице приведены требования к версии Kotlin и рекомендуемые версии AGP и Gradle для последних версий Navigation SDK.
Версия навигационного SDK | Котлин-версия (обязательно) | Плагин Android Gradle (AGP) и версии Gradle (рекомендуется) |
---|---|---|
6.2+ | 2.1 |
|
6,0 - 6,2 | 2.0 |
|
5.1 - 5.99.1 | 1,9 | Мы рекомендуем использовать AGP 7.3+, в котором есть обходной путь для JDK-8272564 . |
Совместимость версий Котлина
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.
,На этой странице представлена информация о совместимости версий Kotlin для Navigation SDK, а также рекомендации по переходу на более новую версию.
Требования к версии навигационного SDK Kotlin
В следующей таблице приведены требования к версии Kotlin и рекомендуемые версии AGP и Gradle для последних версий Navigation SDK.
Версия навигационного SDK | Котлин-версия (обязательно) | Плагин Android Gradle (AGP) и версии Gradle (рекомендуется) |
---|---|---|
6.2+ | 2.1 |
|
6,0 - 6,2 | 2.0 |
|
5.1 - 5.99.1 | 1,9 | Мы рекомендуем использовать AGP 7.3+, в котором есть обходной путь для JDK-8272564 . |
Совместимость версий Котлина
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.