Cómo migrar apps a Android 11

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

Dado que los usuarios pueden comenzar a recibir la plataforma nueva en cuanto se actualiza el código fuente en el Proyecto de código abierto de Android (AOSP), es importante que las apps estén listas, que funcionen como se espera y que, idealmente, usen las APIs y las funciones nuevas para aprovecharla al máximo.

En este documento, hay una explicación 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 actualización de la plataforma y garantizar una experiencia excelente para tus usuarios en Android 11.

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 11)
  • Orientar las nuevas funciones y las APIs de la plataforma (en cuanto sea posible después de la actualización final)

En esta página, se describen los pasos generales para cada una de esas fases. Cuando tengas todo listo para comenzar, lee Cómo descargar Android 11.

Cómo garantizar la compatibilidad con Android 11

Es importante que pruebes las funciones de tu app existente con Android 11 para garantizar una experiencia excelente 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, luego, hacer 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 API nuevas ni cambiar la compileSdkVersion de la app, aunque esto puede depender de cómo se compila y de las funciones de la plataforma que usa. En las siguientes secciones, se describen los pasos.

Antes de comenzar, asegúrate de familiarizarte con los cambios de comportamiento que podrían afectar a tu app, incluso si no cambias su targetSdkVersion.

Cómo realizar pruebas de compatibilidad

En general, las pruebas de compatibilidad con Android 11 son similares a las que realizas cuando te preparas para lanzar tu app. Es un buen momento para revisar los lineamientos de calidad básicos de apps y las prácticas recomendadas para pruebas.

Solo tienes que instalar tu app publicada en un dispositivo con Android 11 y revisar todos los flujos y las funciones en busca de problemas. Para ayudarte a enfocar tus pruebas, revisa los cambios de comportamiento que se introdujeron en Android 11 y que pueden afectar el funcionamiento de la app o hacer que esta falle. En particular, asegúrate de revisar los cambios de privacidad clave y probar las correcciones que implementes para incorporarlos.

Además, asegúrate de revisar y probar los usos de las interfaces restringidas que no pertenecen al SDK y opta por los equivalentes públicos del SDK o el 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 11 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 con anticipación y te ayuda a ofrecerles una transición gradual a medida que actualizan a Android 11.

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

Una vez que hayas publicado la versión compatible de tu app como se describió anteriormente, el siguiente paso es agregar compatibilidad total con Android 11 actualizando su targetSdkVersion y aprovechando las nuevas APIs y capacidades de Android 11. Puedes hacerlo en cuanto tengas todo listo y recuerda el requisito de Google Play para orientar anuncios a la nueva plataforma.

Cuando planifiques tu trabajo para que sea totalmente compatible con Android 11, un buen punto de partida es revisar los cambios de comportamiento que se aplican a las apps orientadas a Android 11. Estos cambios de comportamiento orientados pueden causar problemas funcionales que quizá debas solucionar. En algunos casos, pueden requerir un desarrollo significativo, por lo que es mejor obtener información sobre ellos con anticipación. Para ayudarte a evaluar los impactos, también puedes usar los botones de compatibilidad para probar tu app actual con los cambios seleccionados habilitados.

En los siguientes pasos, se describe cómo brindar compatibilidad total con Android 11.

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

Para comenzar a ofrecer compatibilidad total con Android 11, primero descarga el SDK de Android 11 (y cualquier otra herramienta necesaria) en Android Studio. A continuación, cambia la targetSdkVersion y la compileSdkVersion de la app por "30" y vuelve a compilar la app. Consulta la guía de configuración para obtener más información.

Cómo probar tu app para Android 11

Después de compilar la app y de instalarla en un dispositivo con Android 11, comienza a realizar pruebas para asegurarte de que funcione correctamente cuando se oriente a Android 11. 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 11. En particular, asegúrate de revisar los cambios de privacidad y probar las correcciones que implementes para incorporarlos. 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 pertenezcan al SDK 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 11 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 compatibilidad con apps

Android 11 presenta una nueva función para desarrolladores que te permite probar con mayor facilidad tu 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 cambio que se puede activar y desactivar tiene 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 11, los botones de activación y desactivación pueden ayudarte. Consulta la documentación correspondiente para obtener más detalles.