Cómo migrar a Kotlin 2.0
Si usas el SDK de Consumer para Android 3.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 de Gradle y el AGP
Kotlin 2.0 tiene requisitos para las versiones mínimas y máximas de tu versión de Gradle y del 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 Consumer 3.0 y versiones posteriores
El SDK de Consumer 3.0 requiere el uso de AGP 7.3 o versiones posteriores.
Modo R8 completo
El SDK para consumidores, versión 3 y anteriores, no admite el modo R8 completo. Debes inhabilitar explícitamente el modo Full R8 si tu aplicación se orienta a AGP 8.0 o versiones posteriores.
# settings.gradle
android.enableR8.fullMode=false
Compatibilidad de versiones de Kotlin
Kotlin admite la retrocompatibilidad con tres versiones anteriores del lenguaje. Esto significa que, si ya usas Kotlin 1.7 o una versión posterior con el SDK para el consumidor, deberías poder actualizar a Kotlin 2.0 sin tener que resolver todos los cambios que generan errores. Sin embargo, la compatibilidad con Kotlin solo se aplica a las funciones estables del lenguaje. Si usas funciones alfa, beta o experimentales en el lenguaje Kotlin, es posible que debas realizar cambios adicionales cuando actualices.
Marcas de compatibilidad con Kotlin
Como se indicó en la sección anterior, Kotlin admite hasta 3 versiones anteriores del lenguaje cuando se realiza una actualización. Kotlin proporciona dos marcas para ayudar a limitar los cambios que generan interrupciones:
language-version X.Y
Esta marca revierte los cambios que interrumpen el 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 que generan interrupciones ya no tendrán efecto:
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version 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 las 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. En sus guías de compatibilidad para cada versión, Kotlin proporciona una lista de cambios disruptivos y las marcas que se pueden establecer para conservar el comportamiento original:
- Guía de compatibilidad con la versión 1.8
- Guía de compatibilidad de la versión 1.9
- Guía de compatibilidad con la versión 2.0