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 tan pronto como se lance 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, aprovechen las APIs y las funciones nuevas para aprovecharla al máximo.

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 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 versión final)

En esta página, se describen los pasos generales para cada una de esas fases. Cuando estés 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 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 cómo se compila tu app 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 al tipo de pruebas que realizas cuando te preparas para lanzar tu app. Este es un buen momento para revisar los lineamientos de calidad de la app principal 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 la función de la app o hacer que esta falle. En especial, asegúrate de revisar los cambios de privacidad clave y probar las correcciones que implementes para contemplar estas modificaciones.

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 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, 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 con anticipación y te ayuda a brindarles una transición sin inconvenientes mientras actualizan la versión 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 mediante la actualización de su targetSdkVersion y aprovechar las nuevas capacidades y APIs de Android 11. Puedes hacerlo en cuanto esté todo listo. Ten en cuenta el requisito de Google Play para orientar a la plataforma nueva.

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ás debas solucionar. En algunos casos, pueden requerir un desarrollo significativo, por lo que es mejor aprender sobre ellos con anticipación. Para ayudarte a evaluar los impactos, también puedes usar los botones de compatibilidad a fin de probar tu app actual con los cambios seleccionados habilitados.

En los siguientes pasos, se describe la 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. Luego, cambia los elementos targetSdkVersion y compileSdkVersion de la app a "30" y vuelve a compilar la app. Para obtener más detalles, consulta la guía de configuració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 en la privacidad y probar las correcciones que implementes para admitir esos cambios. 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 11 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 11 presenta una nueva función para desarrolladores que 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 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 11, los botones de activación y desactivación pueden ayudarte. Consulta la documentación correspondiente para obtener más detalles.