Guía de migración al SDK de consumidor de Android 3.0

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: