Compatibilidad y migración de versiones de Kotlin

En esta página, se proporciona información sobre la compatibilidad de la versión de Kotlin para Navigation SDK, así como orientación para migrar a una versión más reciente.

En la siguiente tabla, se describen los requisitos de la versión de Kotlin y las versiones recomendadas de AGP y Gradle para las versiones recientes de Navigation SDK.

Versión de Navigation SDK Versión de Kotlin (obligatoria) Versiones del complemento de Android para Gradle (AGP) y Gradle (recomendadas)
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
  • Gradle 8.4
5.1 - 5.99.1 1.9 Te recomendamos usar AGP 7.3+, que tiene una solución alternativa para JDK-8272564.

Compatibilidad con la versión de Kotlin

Kotlin 2.2 admite la retrocompatibilidad con Kotlin 2.1. Esto significa que, si ya usas Kotlin 2.1 con Navigation SDK, deberías poder actualizar a Kotlin 2.2 sin tener que resolver todos los cambios rotundos. Sin embargo, esto solo se aplica a las funciones de lenguaje estables. Si usas funciones alfa, beta o experimentales en el lenguaje Kotlin, es posible que debas realizar cambios adicionales cuando actualices.

Facilita la transición: Marcas de compatibilidad de Kotlin

Kotlin proporciona dos marcas para ayudar a limitar los cambios rotundos: https://kotlinlang.org/docs/compatibility-modes.html

language-version X.Y

Esta marca revierte los cambios rotundos al comportamiento de una versión anterior de Kotlin. Por ejemplo, si usas Kotlin 2.1, puedes especificar [ - language-version 2.1] y los nuevos cambios rotundos ya no tendrán efecto:

android {
   kotlinOptions {
       languageVersion = '2.1'
   }
}

api-version X.Y

Esta marca arroja un error de compilación de Gradle cuando se usa una API de una versión de Kotlin más reciente que apiVersion.

android {
   kotlinOptions {
       apiVersion = '2.1'
   }
}

Un enfoque más específico

Además de usar marcas de compatibilidad de Kotlin, te recomendamos que revises las notas de la versión de Kotlin y elijas los comportamientos que deseas conservar de la versión desde la que realizas la actualización. Kotlin proporciona una lista de cambios rotundos y las marcas que se pueden configurar para conservar el comportamiento original en sus guías de compatibilidad para cada versión:

Actualizaciones futuras de Kotlin

Kotlin lanza una versión nueva (es decir, una versión de lenguaje) cada 6 meses y Google suele incorporar la versión más reciente como predeterminada en nuestros productos 1 o 2 meses después. Las versiones anteriores de Kotlin incluyeron cambios rotundos que requirieron que los clientes de Navigation SDK actualizaran a una versión más reciente. Por este motivo, te recomendamos que planifiques una actualización de Kotlin cada 6 meses cuando adoptes la versión más reciente de Navigation SDK.