Publicado por Dave Burke, vicepresidente de Ingeniería
Android abre el camino hacia el futuro de la tecnología móvil, desde desarrollos innovadores como el 5G hasta pantallas plegables y aprendizaje automático integrado en los componentes principales. El sello distintivo de nuestro enfoque es una comunidad sólida de desarrolladores que brindan comentarios anticipados y valiosos, lo que nos ayuda a ofrecer una plataforma consolidada de apps y juegos que deleita a miles de millones de usuarios de todo el mundo. Por eso, hoy presentamos la primera vista previa para desarrolladores de Android 11 y podemos hacerlo más pronto que nunca gracias al ciclo de comentarios sumamente útiles que recibimos el año pasado.
Con Android 11 seguimos concentrándonos en ayudar a los usuarios a sacar el máximo provecho de las innovaciones más recientes sin dejar de priorizar la privacidad y la seguridad sobre todo. Agregamos varias funciones nuevas que permiten a los usuarios administrar el acceso a datos y archivos sensibles, y aumentamos la seguridad de aspectos críticos de la plataforma para mantener la resiliencia y la protección del SO. En el caso de los desarrolladores, Android 11 tiene muchísimas capacidades nuevas para las apps, como mejoras para los dispositivos plegables y la tecnología 5G, API de filtrado de llamadas, nuevas capacidades multimedia y de la cámara, aprendizaje automático y mucho más.
Y esto es solo el comienzo: como en años anteriores, seguiremos compartiendo funciones nuevas y actualizaciones durante los próximos meses y en Google I/O a medida que recibamos comentarios. Lo más importante que puedes hacer ahora es visitar el sitio para desarrolladores de Android 11; descargar una imagen del sistema para tu dispositivo Pixel 2, 3, 3a o 4; y decirnos lo que piensas.
La versión de hoy es una compilación preliminar de referencia creada solo para desarrolladores y no está pensada para uso diario ni para los consumidores. Por eso, se encuentra disponible únicamente para descarga e instalación manual. Recuerda que tus comentarios anticipados son fundamentales para ayudarnos a mejorar la plataforma con el fin de satisfacer tus necesidades. Sigue leyendo para tener una idea general de las novedades de Android 11 y visita el sitio para desarrolladores a fin de obtener información detallada sobre el cronograma, las formas de probar la plataforma y los métodos para enviar comentarios.
Innovación útil
Experiencias de 5G
La tecnología 5G ofrece siempre mayor velocidad y un nivel inferior de latencia a más usuarios en todo el mundo. Gracias a esta tecnología, puedes extender las experiencias Wi-Fi de tu app a los usuarios móviles para que, por ejemplo, puedan transmitir video en 4K o cargar juegos con más resolución. También puedes crear experiencias nuevas diseñadas específicamente para la tecnología 5G. En Android 11, mejoramos y actualizamos las API de conectividad existentes para que puedas aprovechar las velocidades mejoradas de la tecnología 5G.
- API de medición dinámica: con esta API, puedes comprobar si la conexión no es medida y, en ese caso, ofrecer niveles superiores de resolución o calidad que podrían consumir más datos. Extendimos la API para que abarque redes celulares de modo que puedas identificar a los usuarios cuyos operadores realmente ofrezcan datos no medidos cuando estén conectados a la red 5G.
- API de estimación del ancho de banda: actualizamos esta API para incluir la tecnología 5G y facilitar la comprobación del ancho de banda de bajada y subida sin tener que evaluar la red ni calcular por tu cuenta. Si el módem no es compatible, realizamos una estimación predeterminada en función de la conexión actual.
Nuevos tipos de pantallas
Los fabricantes de dispositivos siguen innovando con la introducción al mercado de nuevos factores de forma y pantallas de vanguardia. Ampliamos la compatibilidad con estas novedades en la plataforma mediante API que te permiten optimizar tus apps.
- Pantallas estenopeicas y en cascada: gracias a las API de corte de pantalla actuales, las apps pueden funcionar con pantallas estenopeicas y en cascada. Si quieres, existe una API nueva que permite a tu app usar toda la pantalla en cascada (incluidos los bordes) mediante inserciones que te ayudan a administrar la interacción cerca de los bordes.
Personas y conversaciones
Comunicarse con amigos y colegas es lo más importante que muchas personas hacen con su teléfono. En Android 11, presentamos cambios que ayudan a los desarrolladores a crear experiencias de conversación más detalladas. Algunas de ellas se pueden ver en versiones preliminares de DP1:
- Sección dedicada a las conversaciones en el panel de notificaciones: los usuarios pueden encontrar de inmediato las conversaciones que están teniendo con las personas en sus apps favoritas.
- Cuadros: los cuadros son una manera de mantener las conversaciones visibles y accesibles cuando los usuarios realizan muchas tareas al mismo tiempo en sus teléfonos. Las apps de mensajes y chat deben usar la API de cuadros en las notificaciones para habilitar esta función en Android 11.
- Inserción de imágenes en respuestas a notificaciones: si tu app permite copiar y pegar imágenes, ahora puedes permitir que los usuarios inserten elementos directamente en las respuestas en línea a las notificaciones para mejorar la comunicación como si estuvieran en la app. Como parte de DP1, verás la compatibilidad con la copia de imágenes en Chrome y la compatibilidad con el pegado de imágenes mediante el portapapeles de Gboard.
Las apps de comunicación bilateral en tiempo real deben usar la API de accesos directos de uso compartido y conversación para brindar objetivos de personas que Android recupere mediante el teléfono. Asimismo, deben usar las API de cuadro para permitir que los usuarios lleven adelante conversaciones mientras usan otras capacidades del dispositivo.
API Neural Networks 1.3
La API Neural Networks (NNAPI) está diseñada para ejecutar operaciones intensivas a nivel ocupacional relacionadas con el aprendizaje automático en dispositivos Android. En Android 11, expandimos las operaciones y los controles que tienen disponibles los desarrolladores. En esta versión, agregamos nuevas operaciones y controles de ejecución que ayudan a optimizar los casos de uso más habituales:
- Las API de calidad de servicio admiten la prioridad y el tiempo de espera para la ejecución de modelos.
- Las API de dominio de memoria reducen la copia y transformación de la memoria para la ejecución consecutiva de modelos.
- Ampliamos la compatibilidad con la cuantización al agregar cuantización asimétrica de valores enteros firmados, en la que dichos valores se usan en lugar de los números flotantes para habilitar modelos más pequeños y acelerar la inferencia.
Consulta el ejemplo de código de NDK para conocer cómo se usan estas API nuevas.
Habrá más novedades en las próximas actualizaciones de la vista previa. Estamos trabajando con proveedores de hardware y marcos de trabajo reconocidos en el ámbito del aprendizaje automático (como TensorFlow) para optimizar e implementar la compatibilidad con la NNAPI 1.3.
Privacidad y seguridad
Privacidad
La privacidad siempre es una prioridad en Android, y cada año agregamos más elementos que permiten proteger a los usuarios y aumentar la transparencia y el control. Estos cambios han tenido éxito entre los usuarios. Por ejemplo, en Android 10, agregamos la opción de otorgar permiso «mientras la app está en uso», de modo que los usuarios pudieran controlar más detalladamente su ubicación y limitar el acceso a esta en segundo plano. Hasta el momento, cuando esta opción aparece, casi la mitad de los usuarios la seleccionan.
En Android 11, seguimos abocados a la privacidad de los usuarios mediante nuevas opciones de permisos, actualizaciones de almacenamiento específico y mucho más. Prueba estas funciones con tus apps de inmediato y cuéntanos qué te parecen.
- Permiso por única vez: ahora, los usuarios pueden otorgar acceso por única vez a los datos más sensibles; es decir, no solo a la ubicación, sino también al micrófono y la cámara del dispositivo. Con este permiso por única vez, las apps pueden tener acceso a los datos hasta que el usuario sale de la app y deben solicitar permiso nuevamente para volver a acceder. Obtén más información aquí.
- Almacenamiento definido: seguimos trabajando para mejorar la protección de los datos de apps y usuarios en el almacenamiento externo, e implementamos mejoras adicionales para ayudar a los desarrolladores a migrar más fácilmente. Queremos dedicar un momento a reconocer el esfuerzo de todas las personas en la comunidad de Android que nos brindaron sus comentarios valiosos. ¡Muchas gracias por ayudarnos a mejorar la plataforma! Esta versión de la vista previa incluye numerosas mejoras, como la habilitación del acceso multimedia a rutas de archivos sin procesar, la actualización de DocumentsUI y las operaciones de edición en lote en MediaStore. Además de estos cambios técnicos, los comentarios de los usuarios nos permitieron descubrir que hace falta más tiempo para realizar la migración. Por lo tanto, los cambios se aplicarán en las apps cuando apunten a Android 11. Obtén más información aquí y no te pierdas las mejoras adicionales en las próximas actualizaciones.
Los usuarios también nos pidieron más protección en versiones anteriores de Android y más transparencia sobre el modo en que las apps usan los datos. Por eso, además de los cambios que ya implementamos en la plataforma, actualizamos la Política de Google Play para garantizar que las apps solo pidan permisos de ubicación cuando sea realmente necesario. Más información
Seguridad
En cada versión de Android, nos centramos en aumentar cada vez más el nivel de seguridad, desde llegar a más dispositivos con las actualizaciones de seguridad mensuales hasta incorporar más protecciones en la plataforma más reciente. En Android 11, extendimos las estrategias de protección en profundidad de Android a más aspectos de la plataforma y agregamos funciones y API nuevas para las apps.
- Sistemas biométricos: expandimos la compatibilidad con sistemas biométricos para satisfacer las necesidades de una gama más amplia de dispositivos. Ahora, BiometricPrompt es compatible con tres tipos de autenticador con diferentes niveles de granularidad: fuerte, débil y credencial del dispositivo. También desacoplamos el proceso de BiometricPrompt del ciclo de vida de actividad de la app para que se integre más fácilmente con diferentes arquitecturas de apps y para mejorar la UI de transacciones. Todas las apps que usen la autorización biométrica deben adoptar las API BiometricPrompt, que también están disponibles en AndroidX para ofrecer compatibilidad con versiones anteriores de Android.
- Endurecimiento de la plataforma: ampliamos el uso de depuradores basados en el compilador para componentes esenciales de seguridad, como BoundSan, IntSan, CFI y Shadow-Call Stack. También habilitamos el etiquetado de punteros de montón para las apps que apunten a Android 11 o versiones posteriores a fin de ayudarlas a detectar problemas de memoria en la etapa de producción. Es posible que estas mejoras de endurecimiento originen más bloqueos repetibles o reproducibles en el código, así que te recomendamos probar las apps. Usamos HWAsan para detectar y corregir numerosos errores de memoria en el sistema, y ahora ofrecemos imágenes de sistema con HWAsan habilitado para que puedas encontrar estos errores en tus apps.
- Protección para el almacenamiento y el uso compartido de datos: ahora, las apps pueden compartir BLOBS de datos con otras apps de forma más rápida y segura gracias a BlobstoreManager. El almacén de BLOB es ideal para casos específicos, como cuando se comparten modelos de ML entre varias apps del mismo usuario.
- Credenciales de identidad: Android 11 agrega a la plataforma compatibilidad con el almacenamiento seguro y la recuperación de documentos de identificación verificables, como licencias de conducir móviles avaladas por la norma ISO 18013-5. ¡Pronto compartiremos más detalles al respecto!
Actualizaciones y compatibilidad
Actualizaciones del sistema de Google Play
Desde Android 10, invertimos cada vez más en las actualizaciones del sistema de Google Play (Project Mainline) para aumentar los niveles de seguridad, privacidad y coherencia en todo el ecosistema. Gracias a una colaboración estrecha con los fabricantes de dispositivos, logramos avances significativos en este aspecto y expandimos nuestra infraestructura para llegar a una gama más amplia de dispositivos de manera más rápida y segura.
En Android 11, agregamos 12 nuevos módulos actualizables, lo que supone un total de 22 módulos. Algunos aspectos destacados son el módulo de permisos que estandariza el acceso de usuarios y desarrolladores a controles de privacidad esenciales en dispositivos Android, un módulo de proveedor de contenido multimedia que es una pieza fundamental de nuestras medidas de privacidad en relación con el almacenamiento definido y un módulo de API Neural Networks (NNAPI) que optimiza el rendimiento y garantiza la coherencia de las API entre los dispositivos. Para obtener más información sobre las actualizaciones del sistema de Google Play, consulta la entrada de blog de Project Mainline.
Compatibilidad con apps
También estamos intentando acelerar y simplificar las actualizaciones; para hacerlo, priorizamos la compatibilidad con apps a medida que implementamos nuevas versiones de la plataforma. En Android 11, agregamos nuevos procesos, herramientas para desarrolladores e hitos de lanzamiento para minimizar el impacto de las actualizaciones de la plataforma.
- Impacto mínimo de los cambios en el comportamiento: aunque los cambios que hacemos en Android pueden mejorar la utilidad, la seguridad y el rendimiento del SO, algunos de estos cambios pueden afectar las apps de los desarrolladores. Mientras compilábamos Android 11, hicimos un gran esfuerzo por minimizar los cambios en el comportamiento que podrían tener un impacto en las apps, e intentamos que fueran opcionales, en los casos que así lo permitían, hasta que tú configures la opción «R» de targetSdkVersion en tu app. Esperamos que esto aumente el control de los desarrolladores y permita que más apps funcionen sin contratiempos en Android 11.
- 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 la información detallada aquí.
- Listas grises actualizadas: actualizamos las listas de interfaces restringidas que no pertenecen al SDK y, como siempre, son bienvenidos tus comentarios y las solicitudes de API públicas equivalentes.
- 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 en el tiempo de ejecución. En consecuencia, agregamos un marco de trabajo del cargador de recursos en Android 11 y les agradecemos a los desarrolladores que lo solicitaron.
- Nuevo hito de estabilidad de la plataforma: los desarrolladores también nos dijeron que preparar la compatibilidad anticipada con una app era desafiante si no había una fecha final concreta para los cambios. Por eso, Android 11 incorpora un nuevo hito de lanzamiento llamado «Estabilidad de la plataforma», al que esperamos llegar a principios de junio. Este hito 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 tener un impacto en las apps. Esperamos que este nuevo hito te sirva para planificar las etapas finales de desarrollo y pruebas. Obtén más información aquí sobre el cronograma de versiones.
Detalles finales y calidad
Conectividad
- Mejoras en el servicio de filtración de llamadas: ahora, las apps que filtran llamadas pueden ayudar más a los usuarios. Las apps pueden recibir el estado de verificación STIR/SHAKEN de la llamada entrante como parte de la información de la llamada. Además, pueden personalizar una pantalla posterior a la llamada suministrada por el sistema que permita realizar determinadas acciones, por ejemplo, marcar una llamada como spam o agregar el número a los contactos.
- Mejoras en la API de sugerencia de Wi-Fi: extendimos la API de sugerencia de Wi-Fi a fin de que las apps de administración de la conectividad tengan más capacidad para administrar sus propias redes. Por ejemplo, pueden eliminar una sugerencia de red para forzar una desconexión, administrar redes Passpoint, recibir más información sobre la calidad de las redes conectadas y efectuar otros cambios en la administración.
- Mejoras de Passpoint: ahora, Android aplica la fecha de vencimiento de un perfil de Passpoint y envía una notificación al respecto, admite la especificación de nombre común en el perfil y permite usar certificados privados de CA autofirmados para perfiles R1 de Passpoint. Además, las apps de conectividad ya pueden usar la API de sugerencia de Wi-Fi para administrar redes Passpoint.
Mejoras en las imágenes y la cámara
- Elementos de diseño HEIF animados: la API ImageDecoder ahora permite decodificar y reproducir secuencias de imágenes animadas almacenadas en archivos HEIF, de modo que puedas aprovechar activos de alta calidad mientras minimizas el impacto en los datos de red y el tamaño del APK. Las secuencias de imágenes HEIF pueden reducir drásticamente el tamaño de los archivos de secuencias de imágenes en comparación con los GIF animados. Para mostrar las secuencias de imágenes HEIF en sus apps, los desarrolladores deben llamar a la función decodeDrawable con un origen HEIF. Si el origen contiene una secuencia de imágenes, se devuelve un resultado AnimatedImageDrawable.
- Decodificador nativo de imágenes: las nuevas API de NDK permiten que las apps decodifiquen y codifiquen imágenes (como JPEG, PNG o WebP) a partir de código nativo para los gráficos o el posprocesamiento. Como no hace falta agrupar una biblioteca externa, se mantiene un tamaño de APK más pequeño. El decodificador nativo también saca provecho del proceso de Android relativo a las actualizaciones de seguridad continuas de la plataforma. Consulta el ejemplo de código de NDK para conocer cómo se usa.
- Silencio durante la captura de la cámara: ahora, las apps pueden usar las API nuevas para silenciar la vibración de tonos de llamada, alarmas o notificaciones mientras la sesión está activa.
- Modos de desenfoque: las apps pueden usar etiquetas de metadatos para habilitar modos de desenfoque en solicitudes de captura de la cámara de dispositivos compatibles. Una imagen quieta ofrece una captura de máxima calidad, mientras que un modo continuo garantiza que la captura se sincronice con la salida del sensor (por ejemplo, en la captura de video).
Nivel bajo de latencia
- Decodificación de video con nivel bajo de latencia en MediaCodec: el video con nivel bajo de latencia es esencial para las apps de transmisión de video en tiempo real y para servicios como Stadia. Los códecs de video compatibles con el nivel bajo de latencia en la reproducción devuelven el primer marco de la transmisión lo más rápido posible después de que se inicia la decodificación. Las apps pueden usar las API nuevas para comprobar y configurar el nivel bajo de latencia en la reproducción de un códec específico.
- Modo HDMI con nivel bajo de latencia: las apps pueden usar las API nuevas para comprobar si hay un modo automático de nivel bajo de latencia (también conocido como modo de juego) en pantallas y televisores externos, y solicitarlo si hace falta. En este modo, la pantalla o el televisor inhabilita el posprocesamiento de los gráficos para minimizar la latencia.
Comienza a familiarizarte con Android 11
La vista previa para desarrolladores tiene todo lo que necesitas para probar las funciones de Android 11, evaluar el funcionamiento de tus apps y enviarnos tus comentarios. Para comenzar, descarga e instala una imagen del sistema del dispositivo en un dispositivo Pixel 2 o 2 XL, Pixel 3 o 3 XL, Pixel 3a o 3a XL, o Pixel 4 o 4 XL. También puedes configurar Android Emulator mediante Android Studio. La plataforma Android Emulator que ejecuta imágenes del sistema Android 11 incluye compatibilidad experimental para ejecutar código binario de apps con procesadores ARM de 32 bits y 64 bits directamente en imágenes de sistema x86 de Android Emulator de 64 bits. Por último, también hay disponibles imágenes GSI para realizar más pruebas.
Luego, actualiza tu entorno de Android Studio con el SDK y las herramientas de vista previa de Android 11 (puedes hacerlo desde el mismo Android Studio). Consulta la guía de configuración para conocer todos los detalles. Para sacar provecho de las funciones más actualizadas de Android Studio, te recomendamos instalar la versión más reciente desde el canal canary.
Cuando termines, estas son algunas de las tareas que podrás realizar:
- Probar las API y funciones nuevas: durante la etapa preliminar de la vista previa para desarrolladores, tus comentarios son muy importantes. Queremos oír lo que tienes para decir sobre nuestras API nuevas mientras todavía hay tiempo para que hagamos cambios. Para conocer más novedades, consulta la descripción general de la API, la referencia de la API y el informe de diferencias. ¡Envíanos tus comentarios y solicitudes lo antes posible!
- Probar la compatibilidad con la versión actual de tu app: el objetivo de esto es que descubras si tu app se verá afectada por los cambios en el comportamiento predeterminado de Android 11. Basta con que instales la versión publicada de tu app en un dispositivo o emulador y pruebes todos los procesos. Si detectas problemas, te recomendamos actualizar la app lo antes posible.
- Probar tu app activando y desactivando los cambios: al igual que en versiones anteriores, Android 11 incorpora cambios opcionales en el comportamiento que solo tienen un impacto en tu app cuando esta apunta a la nueva plataforma. Entender y evaluar estos cambios de forma anticipada es verdaderamente importante. Para facilitar la evaluación del impacto, ahora puedes activar o desactivar cada cambio. A medida que realices las pruebas, asegúrate de avisarnos si estos cambios funcionan en tu app.
Si quieres obtener más información, visita el sitio para desarrolladores de Android 11. Encontrarás una descripción general de las novedades de esta versión, información detallada sobre los cambios en el comportamiento, guías de configuración y migración, notas de la versión, canales para intercambiar comentarios y mucho más.
Actualizaciones de la vista previa
Tenemos previsto actualizar las imágenes del sistema y el SDK de la vista previa con frecuencia durante el ciclo de versiones de Android 11. Esta versión inicial de la vista previa es solo para desarrolladores y no está pensada para su uso diario ni para los consumidores. Por eso, se encuentra disponible únicamente para descarga e instalación manual. Las descargas se encuentran aquí y las instrucciones están aquí.
A medida que nos aproximemos al producto final, invitaremos también a los consumidores a probarlo y en ese momento abriremos las inscripciones mediante Android Beta. No te pierdas la información detallada y recuerda que, por el momento, Android Beta no está disponible para Android 11.
¡Envíanos tus comentarios!
Como siempre, tus comentarios son muy importantes, así que no olvides decirnos lo que piensas. Cuanto antes recibamos tus opiniones, más ideas podremos integrar. Además, debido a los tiempos con los que contamos, priorizaremos los comentarios que recibamos en las próximas semanas. Si encuentras problemas, infórmalos aquí.
Source: Google Dev