Compatibilidad y migración de versiones de Kotlin

En esta página, se proporciona información sobre la compatibilidad de versiones de Kotlin con el SDK de Navigation, 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 del SDK de Navigation.

Versión del SDK de Navigation Versión de Kotlin (obligatorio) Versiones del complemento de Android para Gradle (AGP) y Gradle (recomendado)
8.0 o posterior 2.3.0
  • AGP 9.0.1
  • Gradle 9.1.0

Importante: Para el SDK de Navigation 8.0 y versiones posteriores, AGP 9.0.1 es un requisito mínimo, no una recomendación. El SDK declara minAndroidGradlePluginVersion=9.0.1, y las compilaciones que usan una versión anterior del AGP fallan.

7.7 - 7.9 2.3.0
  • AGP 8.13.2
  • Gradle 8.13
7.3 - 7.6 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 que uses AGP 7.3 o una versión posterior, que tiene una solución alternativa para JDK-8272564.

Compatibilidad de versiones de Kotlin

Kotlin 2.3 admite la retrocompatibilidad con Kotlin 2.2. Esto significa que, si ya usas Kotlin 2.2 con el SDK de Navigation, deberías poder actualizar a Kotlin 2.3 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.

Cómo facilitar 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 en el comportamiento de una versión anterior de Kotlin. Por ejemplo, si usas Kotlin 2.2, puedes especificar [ - language-version 2.2] y los nuevos cambios rotundos ya no se aplicarán:

android {
   kotlinOptions {
       languageVersion = '2.2'
   }
}

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.2'
   }
}

Un enfoque más segmentado

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

Futuras actualizaciones de Kotlin

Kotlin lanza una versión nueva (es decir, una versión de lenguaje) cada 6 meses y, por lo general, Google incorpora la versión más reciente como la predeterminada en nuestros productos entre 1 y 2 meses después de eso. Las versiones anteriores de Kotlin incluyeron cambios rotundos que requirieron que los clientes del SDK de Navigation 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 del SDK de Navigation.