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 proporcionan instrucciones 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ínima y máxima 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 consumidor 3.0 y versiones posteriores

El SDK de Consumer 3.0 requiere el uso de AGP 7.3 o una versión posterior.

Modo completo de R8

El SDK de consumidor v3 y versiones anteriores no admiten el modo R8 completo. Debes inhabilitar explícitamente el modo completo de R8 si tu aplicación se orienta a AGP 8.0 o versiones posteriores.

# settings.gradle
android.enableR8.fullMode=false

Compatibilidad con 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 de Consumer, deberías poder actualizar a Kotlin 2.0 sin tener que resolver todos los cambios rotundos. Sin embargo, la compatibilidad con Kotlin 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.

Marcas de compatibilidad con 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:

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 1.7, puedes especificar [ - language-version 1.7] y los nuevos cambios rotundos 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 te gustaría conservar de la versión desde la que estás actualizando. 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: