En este documento, se ofrece una vista detallada 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 lanzamiento 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 la plataforma.
Los usuarios pueden comenzar a recibir la plataforma nueva en cuanto se actualiza el código fuente en el AOSP (Proyecto de código abierto de Android), 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 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 en la plataforma pueden afectar el comportamiento de tu app, por lo que es importante realizar pruebas iniciales y exhaustivas y, además, 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. De manera similar, no deberías necesitar usar APIs nuevas ni cambiar la compileSdkVersion
de la app, aunque esto puede depender de cómo 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 cambios pueden afectar a tu app, incluso si no cambias su targetSdkVersion
.
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 de comportamiento del sistema para identificar las áreas en las que tu app podría verse afectada.
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.
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.
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 de la app principal 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 esta 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 StrictMode
detectNonSdkApiUsage()
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, prueba 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 garantizarles una transición sin inconvenientes mientras actualizan la versión 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 plataforma nueva.
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 abordar. En algunos casos, estos cambios requieren un desarrollo significativo, por lo que recomendamos conocerlos y abordarlos lo antes posible. Para ayudar a 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 cómo brindar compatibilidad total con 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 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
Haz los cambios de código y arquitectura necesarios para respaldar los cambios de privacidad de los usuarios de Android 12.
Aprovecha las API de Android 12 para incorporar funciones y capacidades nuevas a tus apps. Vuelve a compilar para Android 12.
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.
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.
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. Consulta la Guía de configuración del SDK para obtener más detalles.
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 interfaces restringidas que no pertenecen al SDK y que se puedan aplicar. 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, prueba 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 prueba automatizado.
- Depurar más rápido con los ID de cambio estándar. Cada uno de los cambios que se pueden activar o desactivar tienen un ID y un nombre únicos que puedes usar para depurar con rapidez 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).