Guía de migración del SDK de controladores de Android 6.0

Migra a la interfaz de DriverStatusListener

En la versión 5 del controlador, anunciamos la baja de la interfaz StatusListener en favor de DriverStatusListener. Este año, borraremos oficialmente la interfaz de StatusListener. Consulta la obsolescencia de StatusListener para obtener una guía de migración a la nueva interfaz.

Cómo migrar a Kotlin 2.0

Si usas el SDK de Driver 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 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 de AGP para el SDK de Driver 6.0 y versiones posteriores

Te recomendamos usar AGP 7.3 o versiones posteriores con el SDK de Driver 6.0.

Modo R8 completo

El SDK de Driver v6 y versiones 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 de Driver, 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: