Cómo migrar a Kotlin 2.0

Si usas el SDK de Navigation para Android 6.0 o versiones posteriores, debes actualizar a Kotlin 2.0. En esta página, se proporciona orientación para facilitar la transición a la nueva versión de Kotlin.

Compatibilidad con Gradle y AGP

Kotlin 2.0 tiene requisitos para las versiones mínimas y máximas de tu versión de Gradle y el complemento de Android para Gradle (AGP). Asegúrate de que tu proyecto cumpla con estos requisitos para Kotlin 2.0.

Versión mínima del AGP para el SDK de Navigation 6.0 y versiones posteriores

Te recomendamos usar AGP 7.3 o versiones posteriores con el SDK de Navigation 6.0. Verificamos el SDK con AGP 8.3 y Gradle 8.4, y el SDK es compatible con el modo completo de R8.

Compatibilidad con la versión de Kotlin

Kotlin admite la retrocompatibilidad con tres versiones anteriores del lenguaje. Esto significa que, si ya usas Kotlin 1.7 o versiones posteriores con el SDK de Navigation, deberías poder actualizar a Kotlin 2.0 sin tener que resolver todos los cambios drásticos. 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 realices la actualización.

Facilita la transición: marcas de compatibilidad de Kotlin

Como se indicó en la sección anterior, Kotlin admite hasta 3 versiones anteriores del lenguaje cuando se actualiza. Kotlin proporciona dos marcas para ayudar a limitar los cambios rotundos:

versión de idioma X.Y

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

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}

versión de API X.Y

Esta marca evita que se usen APIs nuevas antes de que el código descendente dependiente esté listo para incorporar Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Un enfoque más segmentado

Además de usar marcas de compatibilidad de Kotlin, te recomendamos revisar las notas de la versión de Kotlin y elegir los comportamientos que te gustaría conservar de la versión desde la que estás realizando la actualización. Kotlin ofrece 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: