<CarlosDev/>

Actual

Android 11: permisos de una vez, scoped storage

API 30, septiembre de 2020. Cámara, micrófono y ubicación sumaron "Only this time", las apps sin uso perdieron sus permisos y con target 30 ya no se podía evitar el scoped storage.

Publicado
Lectura
22 min
Redacción
Estable
Serie
Parte 12 de 19 · Android, versión por versión
Banner de Android 11 Red Velvet Cake, con el logo de la versión.
En este registro14 secciones

Android 11 es la versión en la que un permiso podía durar una sola sesión. Los pedidos de cámara, micrófono y ubicación sumaron “Only this time”, y las apps que nadie abría en meses perdieron sus permisos. Para quien desarrolla, cerró la salida del scoped storage y ocultó la lista de apps instaladas a las apps con target API 30.

De un vistazo

VersiónAndroid 11
Nivel de API30
NombreRed Velvet Cake, solo interno. Nombre público: Android 11
Build.VERSION_CODESR
LanzamientoDespliegue en Pixel desde el 8 de septiembre de 2020
Dispositivos de lanzamientovivo V20, a la venta el 30 de septiembre de 2020; Pixel 5 y Pixel 4a (5G) de Google, anunciados ese mismo día
Plazo de target API en Google PlayApps nuevas desde agosto de 2021, actualizaciones desde noviembre de 2021

Google lanzó Android 11 y publicó su código en AOSP el 8 de septiembre de 2020, empezando por los Pixel 2, 3, 3a, 4 y 4a. El anuncio de Google también nombró teléfonos de OnePlus, Xiaomi, OPPO y realme. Los primeros teléfonos vendidos con Android 11 fueron los vivo V20, que salieron a la venta en el sudeste asiático el 30 de septiembre. Google anunció los suyos, el Pixel 5 y el Pixel 4a (5G), ese mismo día.

El camino fue un mes más largo de lo previsto. La primera versión preliminar para desarrolladores salió el 19 de febrero de 2020. En mayo, Google agregó una cuarta versión preliminar y retrasó la Beta 1 y todas las etapas siguientes cerca de un mes. Luego postergó el evento del 3 de junio para dar espacio a las conversaciones sobre justicia racial en Estados Unidos, y publicó la Beta 1 el 10 de junio, sin evento. Cada preview y cada beta tiene su propia parte después de esta vista general.

Dave Burke, vicepresidente de ingeniería de Android, contó en el podcast All About Android en julio de 2020 que su equipo llamaba a la versión “RVC”, por Red Velvet Cake. Dijo que el nombre no aparecería fuera de Google. La constante del SDK es solo R, y los build IDs empiezan con R (RP1A.200720.009 fue el primer build para Pixel).

Qué trajo

  • Conversaciones. Las notificaciones de mensajería tienen su propia sección arriba del panel. El usuario puede marcar una conversación como prioritaria, por contacto y no por app.
  • Burbujas. Las ventanas de chat flotantes, experimentales detrás de una opción de desarrollador en Android 10, quedan abiertas a todas las apps. Una app con target API 30 solo muestra burbujas en notificaciones ligadas a un shortcut.
  • Controles de dispositivos. Una pulsación larga en el botón de encendido muestra los controles de los dispositivos del hogar. Las apps agregan los suyos con ControlsProviderService.
  • Controles multimedia. Los reproductores pasan a Quick Settings, en un carrusel que se desliza y retoma sesiones recientes, con un selector de salida para parlantes y auriculares.
  • Grabación de pantalla. Un grabador integrado en Quick Settings, con audio del micrófono, del dispositivo o de ambos.
  • Depuración inalámbrica. adb se conecta por Wi-Fi sin cable USB, tras emparejar con un código (adb pair ipaddr:port) o con un código QR desde Android Studio.
  • APIs de 5G. Las apps saben si el usuario está en 5G (TelephonyDisplayInfo), si la conexión está temporalmente sin medición (NET_CAPABILITY_TEMPORARILY_NOT_METERED) y su ancho de banda estimado. El emulador sumó un ajuste de red 5G en la versión 30.0.22.
  • Herramientas. Auditoría de acceso a datos (ver abajo), motivos de cierre de la app (ApplicationExitInfo), interruptores de compatibilidad por cambio, adb install --incremental para APKs grandes y más anotaciones de nulabilidad para Kotlin.
  • Otros añadidos. Animaciones del teclado sincronizadas (WindowInsetsAnimation.Callback), APIs para pantallas curvas en los bordes y para el ángulo de la bisagra, NNAPI 1.3, decodificación de baja latencia en MediaCodec, un decodificador de imágenes en el NDK y Android Auto inalámbrico en autos compatibles.
  • Más APIs. Una Thermal API en el NDK avisa cuando el dispositivo se calienta, para que un juego reduzca la carga antes de que la CPU baje su frecuencia. Un CallScreeningService puede leer el estado de verificación STIR/SHAKEN de una llamada entrante. ImageDecoder.decodeDrawable() devuelve un AnimatedImageDrawable para un archivo HEIF con varios cuadros, como una ráfaga de fotos.
  • Detalles que notaron los usuarios. Un historial de notificaciones, desactivado por defecto, guarda las “Recently dismissed”, que todavía abren su app, y las de “Last 24 hours”. Las apps se pueden fijar arriba en el menú de compartir. El tema oscuro puede seguir un horario o la puesta del sol. Una red Wi-Fi se puede guardar con “Auto-connect” desactivado.

Seguridad y privacidad

  • Auditoría de acceso a datos. Una app registra AppOpsManager.OnOpNotedCallback y recibe un aviso cada vez que su código, o una biblioteca incluida en ella, toca datos privados. Las etiquetas de atribución indican qué parte de la app hizo la llamada.
  • Scudo. Las asignaciones del heap nativo usan el asignador endurecido Scudo, salvo en dispositivos de poca memoria. Los fallos que detecta aparecen como Scudo ERROR:.
  • fdsan aborta. El sanitizador de descriptores de archivo de Android 10 ahora detiene el proceso ante un doble cierre o un uso después de cerrar, en lugar de solo registrarlo.
  • Etiquetado de punteros del heap. En las apps con target 30, los punteros del heap llevan una etiqueta en su byte más alto, como preparación para la Memory Tagging Extension de Arm.
  • Mainline. Google duplicó con creces la cantidad de módulos del sistema que puede actualizar por Google Play system updates, con 12 nuevos.
  • Identificadores protegidos. getIccId() devuelve una cadena vacía. Las estadísticas de uso de apps pasan al almacenamiento cifrado por credencial y no se pueden leer hasta que el usuario desbloquea el dispositivo.
  • Plataforma. La Generic Kernel Image (GKI) saca el soporte de cada SoC del kernel común y lo lleva a módulos. Virtual A/B da actualizaciones sin interrupción con menos almacenamiento. GWP-ASan corre en las apps del sistema para detectar errores del heap.
  • Resume-on-Reboot. Tras reiniciar para instalar una actualización OTA, el dispositivo puede desbloquear el almacenamiento cifrado por credencial de todas las apps, incluso las que no soportan Direct Boot, para que las notificaciones lleguen antes de que el usuario ingrese el PIN. Requiere la función android.hardware.reboot_escrow.

Permisos

Tres cambios alcanzan a todas las apps, sin importar su target:

  • Permisos de una sola vez. Los diálogos de cámara, micrófono y ubicación ofrecen “While using the app”, “Only this time” y “Deny”. Un permiso de una vez dura mientras la actividad está visible y un rato después de que la app pasa a segundo plano, o hasta que se detiene un servicio en primer plano iniciado desde la actividad visible.
  • Dos rechazos significan no. Si el usuario toca “Deny” dos veces para el mismo permiso, el diálogo deja de aparecer. adb shell dumpsys package <package> lo muestra como USER_FIXED.
  • “Files & Media”. El grupo de permisos Storage cambia de nombre. Una app con scoped storage que pide READ_EXTERNAL_STORAGE muestra un diálogo sobre fotos y contenido multimedia.
Un diálogo de permiso de ubicación con tres botones: While using the app, Only this time y Deny
El diálogo de ubicación en Android 11, con la nueva opción "Only this time". Android Developers · CC BY 2.5

Para las apps con target API 30:

  • Restablecimiento automático. Si el usuario no abre la app durante unos meses, Android restablece sus permisos en tiempo de ejecución y le avisa. El interruptor por app es “Remove permissions if app isn’t used”, en App info > Permissions.
  • Ubicación en segundo plano. Un pedido de ubicación en primer y segundo plano a la vez se ignora. La app pide primero la ubicación en primer plano, luego ACCESS_BACKGROUND_LOCATION, y el usuario activa “Allow all the time” en Ajustes.
  • Números de teléfono. getLine1Number() requiere READ_PHONE_NUMBERS en lugar de READ_PHONE_STATE.
  • Nuevos. MANAGE_EXTERNAL_STORAGE (“All files access”) y QUERY_ALL_PACKAGES, ambos explicados más abajo.
While using the app Allow all the time sin cambios La función necesita ubicación Pedir ACCESS_FINE_LOCATION Diálogo del sistema Pedir ACCESS_BACKGROUND_LOCATION Página de Ajustes Ubicación en segundo plano Solo ubicación en primer plano

Los dos pasos con borde punteado son del sistema. El diálogo de ubicación en segundo plano no tiene un botón para otorgarla; el usuario debe elegir “Allow all the time” en la página de ajustes.

El permiso de superposición también cambió. ACTION_MANAGE_OVERLAY_PERMISSION siempre abre la lista general de ajustes e ignora el paquete del intent. Las apps de filtrado de llamadas y las que capturan la pantalla reciben SYSTEM_ALERT_WINDOW al pedirlo.

Qué cambió para tu app

Todas las apps en Android 11

CambioQué hacer
Permisos de una sola vez y la regla de los dos rechazosVerifica el permiso antes de cada acceso; espera un rechazo sin diálogo
Los servicios en primer plano iniciados desde segundo plano pierden cámara, micrófono y ubicaciónInícialos mientras la app está visible
Scudo es el asignador nativo y fdsan abortaCorrige los errores de memoria y de descriptores de archivo en el código nativo
getIccId() devuelve una cadena vacíaUsa getSubscriptionId()
Las estadísticas de uso requieren un usuario desbloqueadoLlama a UsageStatsManager después de que isUserUnlocked() devuelva true
Compartir una URI de contenidoAgrega FLAG_GRANT_READ_URI_PERMISSION o FLAG_GRANT_WRITE_URI_PERMISSION al intent
Se eliminó la biblioteca compartida de Maps v1Pasa al Maps SDK for Android y quita su <uses-library>
Las apps no pueden leer las carpetas de otras apps en Android/dataComparte archivos con un FileProvider o con el Storage Access Framework

Apps con target API 30

CambioQué hacer
El scoped storage es obligatorio; requestLegacyExternalStorage se ignoraUsa MediaStore y el Storage Access Framework; migra los archivos antiguos antes de subir targetSdkVersion
WRITE_EXTERNAL_STORAGE no da acceso adicionalEscribe en tus propios directorios o en las colecciones de MediaStore
Las apps instaladas se filtran en getInstalledApplications() y llamadas similaresDeclara las apps o intents que necesitas en <queries>
Cámara o micrófono en un servicio en primer planoAgrega camera o microphone a android:foregroundServiceType
Se bloquean los toasts personalizados desde segundo planoUsa un toast de texto o una notificación; Toast.addCallback() avisa cuándo se muestra y se oculta
Se ignora un pedido conjunto de ubicación en primer y segundo planoPídelas en dos pasos
No se instalan APKs firmados solo con v1Firma con APK Signature Scheme v2 o superior, y mantén v1 para dispositivos antiguos
Un resources.arsc comprimido o sin alinear impide la instalaciónGuárdalo sin comprimir y alineado a 4 bytes
Los intents implícitos IMAGE_CAPTURE y VIDEO_CAPTURE solo van a la cámara del sistemaIndica el paquete para usar una cámara de terceros
Firebase JobDispatcher y GcmNetworkManager dejan de funcionar en Android 6.0+Pasa a WorkManager

El scoped storage llegó en Android 10, donde una app todavía podía evitarlo. Desde API 30 ya no hay salida, pero Android 11 devolvió las rutas directas a archivos (File, fopen()) para el contenido multimedia al que la app ya tiene acceso, y sumó ediciones en lote de archivos multimedia.

Las apps cuya función principal necesita todos los archivos, como gestores de archivos, antivirus y apps de copias de seguridad, pueden declarar MANAGE_EXTERNAL_STORAGE. El usuario activa “Allow access to manage all files” en una página de ajustes que la app abre con ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION, e isExternalStorageManager() informa el resultado. Aun así, las carpetas de otras apps en Android/data siguen cerradas.

La visibilidad de paquetes funciona igual. Una app que usa un motor de texto a voz o un servicio de reconocimiento de voz, por ejemplo, debe declarar ese intent en <queries>. Para la app poco común que necesita la lista completa existe QUERY_ALL_PACKAGES. Google Play revisa ambos permisos: All files access desde mayo de 2021, y QUERY_ALL_PACKAGES mediante su formulario de declaración de permisos.

Qué perduró

  • El restablecimiento automático se convirtió en hibernación. Desde Android 12, una app sin uso también pierde sus jobs, sus mensajes push y su caché. Desde diciembre de 2021, Google Play services llevó el restablecimiento de permisos a Android 6.0 a 10.
  • La visibilidad de paquetes y <queries> siguen siendo la regla, y Play sigue limitando QUERY_ALL_PACKAGES a las apps cuya función principal lo necesita.
  • El almacenamiento se siguió acotando. Android 13 reemplazó READ_EXTERNAL_STORAGE por READ_MEDIA_IMAGES, READ_MEDIA_VIDEO y READ_MEDIA_AUDIO.
  • Los tipos de servicio en primer plano, exigidos aquí para cámara y micrófono, pasaron a ser obligatorios para todo servicio en primer plano en las apps con target Android 14.
  • La depuración inalámbrica se quedó. Android 17 con adb 37.0.0 sumó “adb Wi-Fi 2.0”, que se reconecta solo en una red de confianza.
  • Los permisos de una sola vez y la regla de los dos rechazos no cambiaron.

Para saber

  • El Easter egg es una perilla de volumen de 11 pasos que se detiene en 10. Si se gira hasta arriba tres veces, se desbloquea: entonces llega a 11 y empieza la etapa siguiente. El código lo dice: “until the dial is “unlocked”, you can’t turn it all the way to 11”.
  • La etapa siguiente es Cat Controls, el coleccionista de gatos de Android 7.0 trasladado a los nuevos controles de dispositivos: un bebedero que se llena de 0 a 200 mL, un plato de comida y un juguete para lanzar.
  • La publicación de Google para desarrolladores se tituló “Turning it up to 11”, y la dirigida al público enumeró 11 novedades.
  • La constante R en AOSP tiene un comentario de una palabra, R., justo debajo de una cita de tres líneas en la Q de Android 10.
El Easter egg de Android 11: una perilla verde con un botón blanco, rodeada de once puntos, con un número 11 naranja al lado, sobre fondo celeste
El Easter egg de Android 11, subido a 11. Wikimedia Commons · CC BY-SA 4.0

Parte 1 de 7

2 min

Android 11 Developer Preview 1: solo por flasheo

19 de febrero de 2020. La preview más temprana de Google hasta entonces, para Pixel 2 a 4 por flasheo, con permisos de una vez, burbujas, API de 5G y el plan de Platform Stability.

Leer por separado: Android 11 Developer Preview 1: solo por flasheo

Google publicó la primera developer preview de Android 11 el 19 de febrero de 2020, casi siete meses antes de la versión final. El post de Dave Burke dijo que Google la publicaba “earlier than ever”. Era “an early baseline build for developers only”.

Fecha19 de febrero de 2020
BuildRPP1.200123.016
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator; GSI
Cómo se obteníaSolo por descarga y flasheo manual; Android Beta no estaba abierto
Estabilidad de la APINo; las API seguían cambiando

Buena parte de Android 11 ya estaba ahí: los permisos de una sola vez para ubicación, cámara y micrófono; la sección de conversaciones y la API de Bubbles; imágenes en las respuestas rápidas de las notificaciones; estimaciones de medición y ancho de banda en 5G; pantallas tipo cascada; NNAPI 1.3; el filtrado de llamadas con el estado STIR/SHAKEN; HEIF animado y un decodificador de imágenes nativo; decodificación de video de baja latencia, y el etiquetado de punteros del heap para apps con target 11. El scoped storage sumó rutas de archivo directas para multimedia y ediciones por lote en MediaStore, y Google aclaró que sus reglas solo aplicarían cuando la app tuviera target Android 11.

Para la compatibilidad, la preview trajo interruptores por cambio en Developer options y en adb, para probar una app sin cambiar targetSdkVersion. También sumó una API pública Resource Loader, 12 módulos Mainline nuevos, y anunció una etapa nueva, “Platform Stability”, prevista para inicios de junio. Congelaría no solo las API, sino “final internal APIs and system behaviors that may affect apps”.

El 4 de marzo llegó una actualización de correcciones, la Developer Preview 1.1 (RPP1.200123.020). Eliminó una excepción de seguridad para las apps que pedían ubicación en primer plano junto con otro permiso, y relajó por un tiempo las restricciones de interfaces fuera del SDK en algunos métodos que usa OkHttp.

Parte 2 de 7

1 min

Android 11 Developer Preview 2: primera OTA

18 de marzo de 2020. La segunda preview llegó por OTA a quienes tenían la DP1 y sumó la API de estado 5G, el sensor de bisagra, los tipos camera y microphone y resume on reboot.

Leer por separado: Android 11 Developer Preview 2: primera OTA

La Developer Preview 2 salió el 18 de marzo de 2020, cuatro semanas después de la primera. Seguía siendo solo para desarrolladores, pero quien ya tenía un Pixel con la Developer Preview 1 o 1.1 la recibió por OTA. Android Flash Tool fue una forma nueva y opcional de instalarla.

Fecha18 de marzo de 2020
BuildRPP2.200227.009
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator
Cómo se obteníaFlasheo manual, Android Flash Tool u OTA desde la Developer Preview 1
Estabilidad de la APINo; las API seguían cambiando

La build sumó una API de estado 5G para saber si el usuario está en una red 5G, un sensor de ángulo de bisagra para plegables, y la opción de que las apps de filtrado de llamadas informen por qué rechazaron una llamada. Los servicios en primer plano ganaron los tipos camera y microphone, obligatorios para usar cualquiera de los dos desde un servicio. El scoped storage recibió una vía para migrar archivos desde el modelo anterior.

También trajo animaciones de teclado sincronizadas con WindowInsetsAnimationController y un listener de animación de insets, una tasa de fotogramas preferida por ventana para pantallas de frecuencia variable, y resume on reboot: tras reiniciar por una OTA, las apps podían leer el almacenamiento cifrado por credenciales antes de que el usuario desbloqueara el dispositivo. El emulador sumó cámaras frontal y trasera.

El 2 de abril llegó la Developer Preview 2.1 (RPP2.200227.014), con correcciones de cierres en la vista de apps recientes, la barra de estado y la app de Settings.

Parte 3 de 7

1 min

Android 11 Developer Preview 3: herramientas

23 de abril de 2020. La tercera preview se centró en herramientas, con depuración inalámbrica, ADB Incremental, GWP-ASan para apps y cambios en las API de salidas y auditoría.

Leer por separado: Android 11 Developer Preview 3: herramientas

La Developer Preview 3 salió el 23 de abril de 2020. Google la describió como “bug fixes and a set of productivity improvements for developers”. Los Pixel con una preview anterior la recibieron por OTA.

Fecha23 de abril de 2020
BuildRPP3.200320.017
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator
Cómo se obteníaFlasheo manual u OTA desde una preview anterior
Estabilidad de la APINo; las API seguían cambiando

Llegó la depuración inalámbrica, con el emparejamiento por código desde la línea de comandos; el emparejamiento por QR desde Android Studio quedó para más adelante. ADB Incremental instalaba APK de 2 GB o más “up to 10x faster”, si estaban firmados con el nuevo esquema de firma v4. En esta build solo funcionaba en el Pixel 4, porque necesitaba un cambio en el sistema de archivos del dispositivo.

GWP-ASan, un detector de errores de heap por muestreo, corría por defecto en los binarios de la plataforma y en las apps del sistema, y las apps podían activarlo. La API de motivos de salida de la app cambió según los comentarios de los desarrolladores, y varias API de auditoría de acceso a datos cambiaron de nombre.

Las apps con target Android 11 pasaron a necesitar READ_PHONE_NUMBERS en lugar de READ_PHONE_STATE para leer números de teléfono. Volvieron las restricciones de interfaces fuera del SDK que la Developer Preview 1.1 había relajado para OkHttp, y Google pidió actualizar OkHttp.

Parte 4 de 7

1 min

Android 11 Developer Preview 4: fuera de plan

6 de mayo de 2020. Una cuarta preview no prevista llegó con un calendario nuevo que retrasó la Beta 1 y todas las etapas siguientes cerca de un mes, sin mover el final del Q3.

Leer por separado: Android 11 Developer Preview 4: fuera de plan

La Developer Preview 4 no estaba en el plan original. Según 9to5Google, el calendario de Google de febrero tenía tres previews y la Beta 1 en mayo. El 6 de mayo de 2020, Google publicó una cuarta preview y movió “Beta 1 and all subsequent milestones by about a month”, sin cambiar la versión final, prevista para “later in Q3”.

Fecha6 de mayo de 2020
BuildRPP4.200409.015
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator
Cómo se obteníaFlasheo manual u OTA desde una preview anterior
Estabilidad de la APINo; las API seguían cambiando

El nuevo calendario puso la Beta 1, con las API finales del SDK y del NDK, el 3 de junio; la Beta 2, con Platform Stability, en julio, y la Beta 3, con builds candidatas a versión final, en agosto. Sin Google I/O presencial ese año, Google planeó para el 3 de junio un evento en línea, “#Android11: the Beta Launch Show”.

La build trajo “the latest bug fixes, API tweaks, and features to try”. Dos cambios alcanzaron a las apps con target Android 11: ya no se instalaban con un resources.arsc comprimido, y getLine1Number() en TelephonyManager y TelecomManager pasó a exigir READ_PHONE_NUMBERS.

Parte 5 de 7

2 min

Android 11 Beta 1: API finales, sin evento

10 de junio de 2020. Con una semana de retraso y sin evento, la primera beta abrió Android Beta por OTA, congeló las API del SDK y del NDK y abrió Play a las apps con target 11.

Leer por separado: Android 11 Beta 1: API finales, sin evento

La Beta 1 salió el 10 de junio de 2020, una semana después de la nueva fecha. El 29 de mayo, Google postergó el evento y la beta del 3 de junio con un “now is not the time to celebrate”. Después canceló el evento virtual “to allow people to focus on important discussions around racial justice in the United States” y publicó la beta con videos cortos y páginas web.

Fecha10 de junio de 2020
BuildRPB1.200504.018
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator
Cómo se obteníaPor OTA con Android Beta, abierto por primera vez, o por flasheo
Estabilidad de la APINo; API del SDK y del NDK finales, comportamientos del sistema no

Desde esta build, las API del SDK y del NDK eran finales, y Google Play aceptaba apps con target Android 11. Google presentó la versión en torno a tres temas: People, Controls y Privacy. Las notificaciones de conversación y las burbujas encabezaban el primero; los controles de dispositivos con una pulsación larga del botón de encendido y los controles multimedia, el segundo. Los controles multimedia estaban detrás de Developer options, y Google dijo que vendrían activados por defecto en una beta posterior.

El restablecimiento automático de permisos se sumó a los permisos de una sola vez: Android restablecería los permisos de ejecución de una app sin uso por mucho tiempo. Las apps de autocompletado y los teclados podían mostrar sugerencias en la franja de sugerencias del teclado.

El 17 de junio llegó la Beta 1.5 (RPB1.200504.020). Corrigió reinicios durante la navegación por gestos, los pagos sin contacto con Google Pay y la desvinculación de dispositivos Bluetooth.

Parte 6 de 7

1 min

Android 11 Beta 2: Platform Stability

8 de julio de 2020. La segunda beta llegó a Platform Stability, nueva en Android 11, con API, comportamientos y restricciones fuera del SDK finales dos meses antes.

Leer por separado: Android 11 Beta 2: Platform Stability

La Beta 2 salió el 8 de julio de 2020 y llevó Android 11 a Platform Stability, la etapa que Google agregó ese año “just for developers”. Significaba que “all app-facing surfaces and behaviors are now final”: las API del SDK y del NDK, los comportamientos del sistema y las restricciones de interfaces fuera del SDK.

Fecha8 de julio de 2020
BuildRPB2.200611.009
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Android Emulator
Cómo se obteníaPor OTA con Android Beta, automática para quien tenía la Beta 1
Estabilidad de la APISí, desde esta build

Google pidió a todos los desarrolladores de apps empezar las pruebas finales de compatibilidad, y a los de SDK, bibliotecas y motores de juegos publicar primero, porque las apps que dependen de ellos “may be blocked” hasta entonces. Los cuatro cambios que listó para todas las apps fueron los permisos de una sola vez, el fin del acceso a archivos de otras apps en el almacenamiento externo, el asignador Scudo para código nativo y fdsan activado por defecto.

El 22 de julio llegó la Beta 2.5 (RPB2.200611.012). Corrigió la pérdida de audio después de una llamada VoIP, reinicios aleatorios, el parpadeo de pantalla con brillo bajo y un bloqueo que impedía volver a Android 10 en algunos Pixel 4.

Parte 7 de 7

1 min

Android 11 Beta 3: candidata a versión final

6 de agosto de 2020. La última beta fue una candidata a versión final para Pixel 2 a 4, luego el 4a, y dejó funcionar las apps de Exposure Notifications sin ubicación.

Leer por separado: Android 11 Beta 3: candidata a versión final

La Beta 3 salió el 6 de agosto de 2020, “our last update in this year’s preview cycle”. Era una build candidata a versión final para los Pixel y el Android Emulator, sobre las API y los comportamientos congelados desde la Beta 2.

Fecha6 de agosto de 2020
BuildRPB3.200720.005
DispositivosPixel 2, 3, 3a y 4, con sus modelos XL; Pixel 4a desde el 24 de agosto
Cómo se obteníaPor OTA con Android Beta, con Android Flash Tool o por flasheo
Estabilidad de la APISí, desde la Beta 2

El único cambio que Google destacó fue para el Exposure Notifications System. Desde la Beta 3, las apps basadas en él podían buscar dispositivos Bluetooth sin la configuración de ubicación activada. Las demás apps seguían necesitando la ubicación activada y un permiso de ubicación para buscar.

Entre las correcciones estuvo la visibilidad de paquetes: un intent filter para navegadores pasó a hacer visibles solo las apps de navegador, no un conjunto más amplio. Google dijo que la Beta 3 llegaría al Pixel 4a cuando saliera a la venta; 9to5Google la vio en Android Beta el 24 de agosto. Android 11 salió el 8 de septiembre de 2020.

Clasificado en

Citas

59

Referencias externas