Cómo migrar apps a Android 12

En este documento, se ofrece una vista general de las fases típicas de desarrollo y prueba que pueden ayudarte a crear un plan de preparación bien alineado con el cronograma de actualización de la plataforma y garantizar una experiencia excelente para tus usuarios en Android 12.

Con cada actualización de Android, presentamos funciones nuevas y cambios de comportamiento para que Android sea más útil y seguro, y tenga un mejor rendimiento. En muchos casos, tu app funcionará exactamente como se espera de inmediato, mientras que, en otros, es posible que debas actualizarla para adaptarla a los cambios de plataforma.

Los usuarios pueden comenzar a recibir la plataforma nueva tan pronto como se lance el código fuente en el Proyecto de código abierto de Android (AOSP), por lo que es importante que tus apps estén listas, que funcionen como se espera y que, idealmente, aprovechen las APIs y funciones nuevas para aprovecharla al máximo.

Una migración típica tiene dos fases, que pueden ser simultáneas:

  • Garantizar la compatibilidad de las apps (con la versión final de Android 12)
  • Orientar las nuevas funciones y las APIs de la plataforma (en cuanto sea posible después de la versión final)

Asegúrate de brindar compatibilidad con Android 12

Es importante que pruebes las funciones de tu app existente con Android 12 a fin de garantizar una excelente experiencia para los usuarios que actualicen su sistema operativo a la versión más reciente de Android. Algunos cambios de la plataforma pueden afectar el comportamiento de tu app, por lo que es importante realizar pruebas iniciales y exhaustivas y, luego, realizar los ajustes necesarios.

Por lo general, puedes ajustar tu app y publicar una actualización sin necesidad de cambiar la targetSdkVersion de la app. Del mismo modo, no deberías necesitar usar APIs nuevas ni cambiar el compileSdkVersion de la app, aunque esto puede depender de la forma en que se compila tu app y de las funciones de la plataforma que usa.

Antes de comenzar las pruebas, asegúrate de familiarizarte con los cambios de comportamiento para todas las apps. Estos podrían afectar a tu app, incluso si no cambias su targetSdkVersion.

Cómo descargar Android 12

Escribe en la memoria flash de tu dispositivo una imagen del sistema Android 12 o descarga una imagen del sistema de Android Emulator.

Revisa los cambios

Revisa los cambios de comportamiento del sistema para identificar las áreas en las que tu app podría verse afectada.

Prueba

Instala tu app en el dispositivo o emulador y ejecuta pruebas. Concéntrate en los cambios de comportamiento del sistema y trabaja en todos los flujos de la app.

Actualiza

Solo realiza los cambios de código necesarios para adaptarte a los cambios de comportamiento o resolver problemas. Vuelve a compilar con el mismo nivel de API al que se orientó tu app originalmente, sin necesidad de orientarla a Android 12.

Cómo llevar a cabo la publicación

Firma, carga y publica tu APK o Android App Bundle actualizado.

Cómo realizar pruebas de compatibilidad

En general, las pruebas de compatibilidad con Android 12 son similares a las pruebas comunes de apps. Este es un buen momento para revisar los lineamientos de calidad básicos de la app y las prácticas recomendadas para pruebas.

A fin de realizar la prueba, instala tu app publicada en un dispositivo que ejecute Android 12 y revisa todos los flujos y funciones mientras buscas problemas. Con el objetivo de ayudarte a enfocar tus pruebas, revisa los cambios de comportamiento para todas las apps que se introdujeron en Android 12 y que pueden afectar el funcionamiento de la app o hacer que falle.

Además, asegúrate de revisar y probar los usos de interfaces restringidas que no pertenecen al SDK. Debes reemplazar cualquier interfaz restringida que use tu app por un SDK público o equivalente del NDK. Mantente alerta a las advertencias de logcat en las que se destacan estos accesos y usa el método detectNonSdkApiUsage() de StrictMode para detectarlos de manera programática.

Por último, asegúrate de probar por completo las bibliotecas y los SDK de tu app para confirmar que funcionen como se espera en Android 12 y sigue las prácticas recomendadas de privacidad, rendimiento, UX, manejo de datos y permisos. Si encuentras un problema, intenta actualizar a la versión más reciente del SDK o comunícate con el desarrollador para obtener ayuda.

Te recomendamos que, cuando hayas terminado la prueba y hayas hecho las actualizaciones necesarias, publiques la app compatible de inmediato. Esto permite que los usuarios prueben la app antes de comenzar y ayuda a garantizar una transición sin problemas para los usuarios mientras actualizan a Android 12.

Cómo actualizar la orientación y la compilación de la app con nuevas API

Una vez que hayas publicado una versión compatible de tu app, el siguiente paso es agregar compatibilidad total con Android 12 mediante la actualización de su targetSdkVersion y aprovechar las nuevas APIs y capacidades de Android 12. Puedes realizar estas actualizaciones en cuanto esté todo listo. Ten en cuenta los requisitos de Google Play para orientar a la nueva plataforma.

Cuando planifiques la compatibilidad total con Android 12, revisa los cambios de comportamiento que afectan a las apps orientadas a Android 12. Estos cambios de comportamiento orientados pueden causar problemas funcionales que, luego, deberás solucionar. En algunos casos, estos cambios requieren un desarrollo significativo, por lo que te recomendamos aprender sobre ellos y abordarlos lo antes posible. Para identificar los cambios de comportamiento específicos que afectan a tu app, usa los botones de compatibilidad para probar la app con los cambios seleccionados habilitados.

En los siguientes pasos, se describe la compatibilidad total con Android 12.

Obtén el SDK de Android 12

Instala la versión más reciente de la vista previa de Android Studio para compilar con Android 12. Asegúrate de contar con un dispositivo o emulador que ejecute Android 12.
Actualiza tu targetSdkVersion y otras configuraciones de compilación.

Revisa los cambios de comportamiento

Revisa los cambios de comportamiento que se aplican a las apps orientadas a Android 12. Identifica las áreas en las que tu app podría verse afectada y planifica la manera de volverlas compatibles

Revisa si hay cambios nuevos en la privacidad

Haz los cambios de código y arquitectura necesarios para respaldar los cambios de privacidad de los usuarios de Android 12.

Adopta funciones de Android 12

Aprovecha las API de Android 12 para incorporar funciones y capacidades nuevas a tus apps. Vuelve a compilar para Android 12.

Prueba

Haz pruebas en un dispositivo o emulador de Android 12. Enfócate en las áreas en las que los cambios de comportamiento podrían afectar a tu app. Prueba la funcionalidad que usa API nuevas. Proporciona comentarios sobre la plataforma y la API. Notifica cualquier problema con la plataforma, la API o el SDK de terceros.

Actualización final

Una vez que las API de Android 12 sean las definitivas, actualiza la targetSdkVersion y otras configuraciones de compilación nuevamente, haz las actualizaciones adicionales y prueba la app.

Cómo llevar a cabo la publicación

Firma, carga y publica tu APK o Android App Bundle actualizado.

Cómo obtener el SDK, cambiar la orientación y compilar con nuevas API

Para comenzar a probar la compatibilidad total con Android 12, usa la versión preliminar más reciente de Android Studio para descargar el SDK de Android 12 y cualquier otra herramienta necesaria. A continuación, actualiza los elementos targetSdkVersion y compileSdkVersion de tu app y vuelve a compilarla. Para obtener más información, consulta la Guía de configuración del SDK.

Prueba tu app para Android 12

Después de compilar la app y de instalarla en un dispositivo con Android 12, comienza a realizar pruebas para asegurarte de que funcione correctamente cuando se oriente a Android 12. Algunos cambios de comportamiento se aplican solo cuando la app se orienta a la nueva plataforma, por lo que te convendrá revisar esos cambios antes de comenzar.

Al igual que con las pruebas de compatibilidad básicas, revisa todos los flujos y funciones en busca de problemas. Concéntrate en probar los cambios de comportamiento de las apps orientadas a Android 12. También es un buen momento para verificar que tu app cumpla con los lineamientos de calidad básicos de apps y las prácticas recomendadas para pruebas.

Asegúrate de revisar y probar los usos de las interfaces restringidas que no pertenecen al SDK que puedan aplicarse. Mantente alerta a las advertencias de logcat en las que se destacan estos accesos y usa el método detectNonSdkApiUsage() de StrictMode para detectarlos de manera programática.

Por último, asegúrate de probar por completo las bibliotecas y los SDK de tu app para confirmar que funcionen como se espera en Android 12 y sigue las prácticas recomendadas de privacidad, rendimiento, UX, manejo de datos y permisos. Si encuentras un problema, intenta actualizar a la versión más reciente del SDK o comunícate con el desarrollador para obtener ayuda.

Prueba la app con botones de compatibilidad

Android 12 incluye botones de compatibilidad que facilitan probar la app con cambios de comportamiento orientados. Si tienes una app depurable, los botones de activación y desactivación te permiten hacer lo siguiente:

  • Probar los cambios orientados sin cambiar realmente la targetSdkVersion de la app. Puedes usar los botones de activación y desactivación para forzar cambios de comportamiento orientados específicos a fin de evaluar el impacto en tu app existente.
  • Enfocar tus pruebas solo a cambios específicos. En lugar de tener que abordar todos los cambios orientados a la vez, los botones de activación y desactivación te permiten inhabilitar todos los cambios orientados, excepto los que deseas probar.
  • Administrar los cambios que se pueden activar y desactivar mediante adb. Puedes usar comandos adb para habilitar o inhabilitar los cambios que se pueden activar o desactivar en tu entorno de pruebas automatizado.
  • Depurar más rápido con los ID de cambio estándar. Cada cambio que se puede activar o desactivar tienen un ID y un nombre únicos que puedes usar para depurar rápidamente la causa raíz en el resultado del registro.

Mientras te preparas para cambiar la orientación de tu app o durante el desarrollo activo para la compatibilidad con Android 12, los botones de activación pueden ayudarte. Para obtener más información, consulta Cambios en el marco de compatibilidad (Android 12).