Android 11 Beta 2 y Estabilidad de la plataforma
martes, 7 de julio de 2020
Publicado por Dave Burke, vicepresidente de Ingeniería
Hace unas semanas develamos la primera versión Beta de Android 11, con un enfoque en las personas, los controles y la privacidad. Como destacamos en el lanzamiento de #Android11Beta, estamos haciendo que Android se centre más en las personas y sea más expresivo, ayude a los usuarios a controlar sus dispositivos inteligentes y les dé aún más control respecto de los permisos sensibles. Los desarrolladores pueden usar API como Conversaciones, Cuadros, Controles del dispositivo y Controles multimedia para integrar esas experiencias en sus apps.
Hoy publicamos la segunda versión Beta de Android 11 para que la pruebes. Este lanzamiento nos lleva al hito Estabilidad de la plataforma, lo que significa que las API y los comportamientos de Android 11 están finalizados. Para los desarrolladores, es hora de empezar con las actualizaciones de compatibilidad finales y publicarlas a tiempo para el lanzamiento oficial, que será en el tercer trimestre.
El tema de esta semana en 11 semanas de Android es "Compatibilidad con Android 11", y compartiremos contenido y materiales útiles toda la semana. Puedes encontrarlos en la página de 11 semanas o seguir a los desarrolladores de Android en Twitter y YouTube.
Puedes obtener la versión Beta 2 hoy en tu dispositivo Pixel 2, 3, 3a o 4 inscribiéndote aquí para descargar las actualizaciones inalámbricas. También están disponibles las descargas manuales. Si ya te habías inscrito para la versión Beta 1, obtendrás automáticamente la actualización inalámbrica. Dinos qué piensas, y gracias por los comentarios que nos has hecho llegar hasta ahora.
Estabilidad de la plataforma
La versión Beta 2 aporta a Android 11 la Estabilidad de la plataforma, un nuevo hito de lanzamiento que agregamos este año solo para desarrolladores, en función de tus comentarios.La Estabilidad de la plataforma significa que todas las superficies y comportamientos de las apps ahora son definitivas en Android 11. Esto incluye no solo las API finales de SDK y NDK, sino también los comportamientos finales del sistema y las restricciones de las interfaces ajenas al SDK que pueden afectar a las apps. Por lo tanto, desde la versión Beta 2, puedes lanzar actualizaciones de compatibilidad con la confianza de que la plataforma no cambiará. Obtén más información sobre la cronología aquí.
Con la plataforma ya estable, estamos animando a todos los desarrolladores de apps y juegos a que comiencen sus pruebas finales de compatibilidad y publiquen las actualizaciones antes del lanzamiento final.
Para todos los desarrolladores de SDK, bibliotecas, herramientas y motores de juegos, es aún más importante empezar a realizar pruebas ahora y publicar actualizaciones compatibles cuanto antes (es posible que algunos juegos y apps queden bloqueados hasta que reciban las actualizaciones pertinentes). Una vez que hayas publicado una actualización compatible, ¡haz que otros desarrolladores lo sepan!
Por qué es importante la compatibilidad de apps
Para Android, el términocompatibilidad de apps significa que tu app se ejecuta correctamente en una versión específica de la plataforma, por lo general, la última. Puedes comprobarlo ahora mismo instalando tu app de producción en un dispositivo o emulador con Android 11. Solo tienes que probar todos los flujos de usuario y las funciones; si la app se ve y funciona correctamente, entonces ya está, ¡es compatible!Suena simple, pero es más que eso. Con cada lanzamiento, hacemos cambios integrales que mejoran la privacidad y la seguridad, e implementamos modificaciones que optimizan la experiencia general del usuario en todo el SO. En ocasiones, eso puede afectar a tus apps, por lo que es importante echar un vistazo a la página de cambios de comportamientos y realizar pruebas, y luego publicar la actualización compatible para los usuarios. Es un nivel de calidad básico pero crítico.
La compatibilidad de apps entra en juego cuando los usuarios actualizan su dispositivo a la última versión de Android, ya sea porque compraron un nuevo dispositivo o porque instalaron una actualización en su dispositivo actual. Están entusiasmados por explorar la última versión de Android, y quieren probarla con sus apps favoritas. Si las apps no funcionan correctamente, es un problema grave, tanto para los usuarios como para todos nosotros.
Así que, si bien hay un montón de API y funciones nuevas para explorar, y más cambios por considerar cuando tengas todo listo para modificar el número de destino de tu app, empieza por probar tu app actual y lanzar primero una actualización compatible.
Las actualizaciones de Pixel y otros dispositivos se iniciarán tan pronto como Android 11 llegue a la versión final del Proyecto de código abierto de Android (AOSP), algo que esperamos para el tercer trimestre. Ahora también hay varios dispositivos de socios en vistas previas públicas activas para respaldar tus pruebas de compatibilidad.
Facilitamos el proceso de compatibilidad de apps en Android 11
Con cada lanzamiento, estamos trabajando para reducir las tareas que deberás realizar para preparar tus apps. En Android 11, agregamos nuevos procesos, herramientas para desarrolladores e hitos de lanzamiento a fin de minimizar el impacto de las actualizaciones de la plataforma y facilitar el proceso de compatibilidad de apps.- Minimización del impacto de los cambios de comportamiento: Estamos haciendo un esfuerzo consciente para minimizar los cambios en la plataforma que podrían afectar a las apps, haciéndolos opcionales, siempre que sea posible, hasta que establezcas targetSdkVersion como Android 11 en tu app. Si distribuyes tu contenido mediante Google Play, tendrás más de un año para habilitar esos cambios.
- Facilidad en las pruebas y la depuración: Para que pruebes la compatibilidad, permitimos que sea posible activar o desactivar la mayoría de los cambios importantes. Es decir, puedes habilitar o inhabilitar cada cambio desde las Opciones para desarrolladores o desde adb. Con esto, ya no hace falta cambiar el valor de targetSdkVersion ni volver a compilar tu app para realizar pruebas básicas. Consulta los detalles aquí.
Funciones de compatibilidad de la app que se pueden activar o desactivar en las Opciones para desarrolladores
- Restricciones en interfaces que no pertenecen al SDK: Como parte de nuestro esfuerzo continuo por alejar gradualmente a los desarrolladores de las API ajenas al SDK, hemos actualizado las listas de interfaces que no pertenecen al SDK y, como siempre, tus comentarios y solicitudes de equivalentes de API públicas son bienvenidos.
- Cargador de recursos dinámicos: Como parte de la migración fuera de interfaces que no pertenecen al SDK, los desarrolladores solicitaron una API pública que permitiera cargar recursos y activos de forma dinámica durante el tiempo de ejecución. En consecuencia, agregamos un marco de trabajo del cargador de recursos en Android 11. Les agradecemos a los desarrolladores que lo solicitaron.
- Hito Estabilidad de la plataforma: Como ya se mencionó, este es un nuevo hito que hemos agregado a nuestro proceso de lanzamiento a fin de darles a los desarrolladores una fecha clara para los cambios finales. Incluye no solo las API finales de SDK y NDK, sino también las API internas y los comportamientos del sistema definitivos que podrían influir en las apps.
¡Preparen sus apps para Android 11!
Ahora que hay una versión estable de Android 11, haz que tus apps sean compatibles cuanto antes. Esta es la forma de hacerlo.Para probar tu app actual, comienza con los cambios de comportamiento para todas las apps a fin de determinar qué podría verse afectado. Estos son los principales cambios (se aplican independientemente de la versión TargetSdkVersion de tu app):
- Permiso de una sola vez: Los usuarios ahora pueden conceder un permiso de uso único para que una app acceda a la ubicación, al micrófono del dispositivo y a la cámara. Obtén más detalles aquí.
- Acceso al almacenamiento externo: Las apps ya no pueden acceder a los archivos de otras aplicaciones ubicados en el almacenamiento externo. Obtén más detalles aquí.
- Asignador de seguridad reforzada Scudo: Ahora se usa el asignador de memoria del montón para el código nativo en las apps. Obtén más detalles aquí.
- Limpiador del descriptor de archivos: Ahora está habilitado de forma predeterminada a fin de detectar problemas de procesamiento de descriptores de archivos para el código nativo de apps. Obtén más detalles aquí.
Después de que hayas publicado la versión compatible de tu app actual, podrás iniciar el proceso de actualizar el parámetro targetSdkVersion. Consulta los cambios de comportamiento para apps de Android 11 y prueba el marco de trabajo de compatibilidad a fin de ayudar a detectar posibles problemas. Estos son algunos de los principales cambios que hay que probar (solo se aplican a targetSdkVersion 30 y versiones posteriores):
- Almacenamiento de alcance: Nuevas restricciones de almacenamiento, comportamientos y API para la lectura y escritura de archivos de apps. Obtén más detalles aquí.
- Ubicación en segundo plano: Cambios en la forma en que las apps solicitan la ubicación en segundo plano y en que los usuarios la conceden. Obtén más detalles aquí.
- Visibilidad de paquetes: Cambios en la forma en que las apps pueden consultar otras aplicaciones instaladas e interactuar con ellas. Obtén más detalles aquí.
- Archivos de recursos comprimidos: No se pueden instalar ni actualizar apps si contienen un archivo comprimido resources.arsc o si el archivo no cumple con el límite de 4 bytes. Obtén más detalles aquí.
- Esquema de firma de APK v2: Ahora se deben firmar las apps usando el Esquema de firma de APK v2 o una versión posterior. Obtén más detalles aquí.
- Etiquetado de punteros de montón: Para los procesos de 64 bits, las asignaciones de montón nativas tienen una etiqueta en el byte superior del puntero que las apps no deben modificar. Obtén más detalles aquí.
Explora las nuevas API y funciones
Tan pronto como estés listo, sumérgete en Android 11 y aprende sobre las nuevas experiencias que puedes crear. Nuestra publicación sobre #Android11 Beta incluye un resumen de las nuevas funciones para desarrolladores. Además, puedes visitar la página del lanzamiento Beta y ver las charlas del equipo de Android sobre las novedades en sus áreas.Android Studio también tiene nuevas funciones para Android 11 a fin de mejorar la productividad y el flujo de trabajo, como ADB incremental, para una instalación más rápida de APK de gran tamaño, y anotaciones adicionales de nulabilidad en API de la plataforma. Puedes probarlas descargando la versión Canary o la última versión Beta de Android Studio. Las instrucciones que debes seguir a fin de configurar Android Studio para Android 11 están aquí.
A fin de obtener detalles completos sobre las funciones y API de Android 11, visita el sitio para desarrolladores de Android 11.
¿Cómo obtengo la versión Beta 2?
Es muy fácil. Puedes inscribirte aquí para obtener actualizaciones inalámbricas de Android 11 Beta para dispositivos Pixel 2, 3, 3a y 4. De forma alternativa, prueba con Android Flash Tool para obtener actualizaciones a pedido, y también hay disponibles imágenes del sistema descargables. Si no tienes un dispositivo Pixel, puedes usar Android Emulator en Android Studio o probar una imagen GSI para ejecutar Android 11 en dispositivos compatibles con Treble.Como siempre, tus comentarios son fundamentales, así que dinos qué piensas. Puedes utilizar nuestras listas de acceso directo para informar problemas de plataforma (incluidos los cambios de privacidad y comportamiento), problemas de compatibilidad de apps y problemas con SDK de terceros. Hasta ahora has compartido con nosotros comentarios muy valiosos, así que gracias por eso.
Semana de compatibilidad con Android 11
Esta semana en 11 semanas de Android, destacamos la compatibilidad de Android 11, un tema importante para todos los desarrolladores ahora que se lanzó la versión estable de la plataforma.Estamos compartiendo aquí recursos para ayudarte con las pruebas de compatibilidad, y puedes seguir a los desarrolladores de Android en Twitter y YouTube para encontrar contenido y materiales útiles en esta área durante toda esta semana.
Además, el equipo de ingeniería de Android realizará una sesión de preguntas y respuestas en Reddit, en r/androiddev, mañana, 9 de julio, a las 12:00 p.m. (hora del Pacífico), para responder a tus preguntas técnicas sobre Android 11. Mira esta publicación para obtener más detalles y enviar tus consultas.