<CarlosDev/>

Actual

Android 12: Material You y panel de privacidad

API 31, octubre de 2021. El fondo de pantalla tiñó el sistema, un panel mostró quién usó ubicación, cámara y micrófono, y con target 31 había que declarar exported y PendingIntent.

Publicado
Lectura
25 min
Redacción
Estable
Serie
Parte 13 de 19 · Android, versión por versión
Banner de Android 12 Snow Cone, con el logo de la versión.
En este registro15 secciones

Android 12 es la versión en la que el fondo de pantalla eligió los colores de todo el sistema. Al usuario le trajo Material You, un panel de privacidad e interruptores que apagan la cámara y el micrófono para todas las apps. A las apps con target API 31 les exigió android:exported y la mutabilidad de cada PendingIntent, y les impidió iniciar servicios en primer plano desde segundo plano.

La pantalla de inicio de un teléfono con un fondo rosa y morado, la fecha arriba a la izquierda, cinco íconos de apps en el dock y una barra de búsqueda de Google debajo
La pantalla de inicio de Android 12, capturada en el emulador de Android. Wikimedia Commons · Apache 2.0

De un vistazo

VersiónAndroid 12
Nivel de API31
NombreSnow Cone, nombre en clave interno. Nombre público: Android 12
Build.VERSION_CODESS
LanzamientoDespliegue en Pixel desde el 19 de octubre de 2021
Dispositivos de lanzamientoPixel 6 y Pixel 6 Pro, anunciados el 19 de octubre de 2021, en tiendas desde el 28
Plazo de target API en Google PlayApps nuevas desde el 1 de agosto de 2022, actualizaciones desde el 1 de noviembre de 2022

Google anunció Android 12 con la Developer Preview 1 el 18 de febrero de 2021. La Beta 1 llegó el 18 de mayo en Google I/O, y la Beta 4 alcanzó la estabilidad de plataforma el 11 de agosto, con las APIs y el comportamiento hacia las apps ya congelados. Las tres developer previews y las cinco betas son las partes que siguen a esta vista general.

Google publicó el código de Android 12 en AOSP el 4 de octubre de 2021. Los teléfonos esperaron dos semanas más: el despliegue empezó el 19 de octubre, para el Pixel 3 en adelante, el mismo día en que Google anunció el Pixel 6 y el Pixel 6 Pro. Google nombró a Samsung, OnePlus, Oppo, realme, Tecno, Vivo y Xiaomi para más adelante en el año. El primer build, SP1A.210812.015, cubrió del Pixel 3 al Pixel 5a.

El nombre en clave fue Snow Cone. En AOSP las ramas de la versión son sc-dev y sc-release, el prefijo al que se fusionan los commits de la etiqueta android-12.0.0_r1. El 4 de octubre de 2021, Dave Burke, vicepresidente de ingeniería de Android, publicó “A cool background to celebrate the launch of Android Snow Cone!”, según reportaron TechRadar y Android Central. La constante del SDK sigue siendo S, y Google nunca usó el nombre en sus anuncios oficiales de la versión.

Qué trajo

  • Material You. Un nuevo lenguaje de diseño con controles más grandes, un panel de notificaciones y unos Quick Settings rediseñados, y widgets con esquinas redondeadas.
  • Color dinámico. El sistema arma una paleta a partir del fondo de pantalla y la aplica a la pantalla de bloqueo, las notificaciones, los ajustes, los widgets y las apps que la adoptan. Las apps la leen con 65 recursos de color nuevos, cinco paletas de 13 tonos cada una (system_accent1_0 a system_neutral2_1000). Google la lanzó primero en Pixel.
  • Pantallas de inicio. Toda app recibe una pantalla de inicio del sistema en los arranques en frío y en tibio, hecha con su ícono y su tema. La API SplashScreen la personaliza con atributos como windowSplashScreenAnimatedIcon.
  • Overscroll elástico. Las listas se estiran y rebotan en el borde en lugar de mostrar un brillo.
  • Capturas con desplazamiento. Una captura de pantalla puede crecer hasta abarcar una página entera con scroll. Las apps pueden entregar al sistema el contenido desplazado de una vista propia con ScrollCaptureCallback, registrado con View.setScrollCaptureCallback() o Window.registerScrollCaptureCallback().
  • Botón de encendido. En Pixel, mantener presionado el botón de encendido abre Google Assistant, y el menú de apagado pasa a un botón en Quick Settings. Los controles del hogar inteligente y Google Pay, que Android 11 había puesto en ese menú, pasaron a ser tiles de Quick Settings.
  • Accesibilidad. Una lupa en ventana amplía una parte de la pantalla sin ocultar el resto, y “Extra dim” baja el brillo por debajo del mínimo.
  • Inserción de contenido enriquecido. Un solo callback, OnReceiveContentListener, recibe imágenes y otros contenidos desde el portapapeles, el teclado o al arrastrar y soltar.
  • Gráficos y multimedia. RenderEffect desenfoca y filtra una vista en una llamada, las imágenes AVIF se decodifican de forma nativa y el sistema puede transcodificar video HEVC y HDR a AVC para las apps que no lo leen.
  • Notificaciones. Notification.CallStyle para llamadas, imágenes animadas en los estilos de mensajería y de imagen grande, y acciones de notificación que exigen el dispositivo desbloqueado (setAuthenticationRequired()).
  • Otras novedades. APIs de esquinas redondeadas (RoundedCorner), hápticos más ricos (VibratorManager), vibración generada a partir de una sesión de audio (HapticGenerator), una API de Game Mode, AppSearch, picture-in-picture que entra solo (setAutoEnterEnabled()) y el nombre del chipset en Build.SOC_MANUFACTURER y Build.SOC_MODEL.

La publicación de Google para desarrolladores dijo que Android 12 redujo un 22% el tiempo de CPU que usan los servicios centrales del sistema.

Después llegó Android 12 (Go edition), para teléfonos de gama de entrada. Google la presentó el 14 de diciembre de 2021 para equipos que salían en 2022. Según Google, ahí las apps abren hasta un 30% más rápido, las apps sin uso hibernan solas y el panel de privacidad también está incluido.

Seguridad y privacidad

  • Panel de privacidad. Una pantalla de Settings muestra una línea de tiempo de qué apps usaron ubicación, cámara y micrófono en las últimas 24 horas. Una app puede explicar cada acceso con una actividad protegida por START_VIEW_PERMISSION_USAGE que maneje VIEW_PERMISSION_USAGE_FOR_PERIOD.
  • Indicadores de cámara y micrófono. Aparece un ícono en la barra de estado cada vez que una app usa alguno de los dos sensores. AOSP hace obligatorios los indicadores para todos los fabricantes.
  • Interruptores de cámara y micrófono. “Camera access” y “Mic access” en Quick Settings apagan el sensor para todas las apps. Una app bloqueada recibe una imagen de cámara en blanco o audio en silencio, sin ningún error. Las llamadas de emergencia vuelven a encender el micrófono.
  • Aviso del portapapeles. La primera vez que una app lee el contenido de otra con getPrimaryClip(), el sistema muestra “APP pasted from your clipboard”. getPrimaryClipDescription() no lo dispara.
  • Private Compute Core. Una parte aislada y de código abierto del sistema, donde Live Caption, Now Playing y Smart Reply procesan datos en el dispositivo. Las funciones dentro de ella no tienen acceso directo a la red; las actualizaciones de modelos llegan a través de Private Compute Services.
  • Superposiciones. Se bloquean los toques que atraviesan una ventana que tapa la app, una app puede ocultar las superposiciones de otras con HIDE_OVERLAY_WINDOWS, y las apps preinstaladas ya no reciben SYSTEM_ALERT_WINDOW de forma automática.
  • Plataforma. ART pasa a ser un módulo Mainline (com.android.art), así que Google puede actualizar el runtime con las actualizaciones del sistema de Google Play. Se admite Rust en el código de la plataforma. Los teléfonos nuevos usan el Generic Kernel Image, y Ars Technica llamó al Pixel 6 el primer teléfono con GKI. El usuario también puede desactivar el 2G, y los perfiles de trabajo pierden acceso al IMEI y al número de serie.
  • Criptografía. Desaparecen los algoritmos obsoletos de BouncyCastle, incluidas todas las variantes de AES, en favor de Conscrypt.

Permisos

  • Ubicación aproximada. Cuando una app pide ACCESS_FINE_LOCATION, el diálogo ofrece “Precise” o “Approximate”, junto a las opciones de una sola vez de Android 11. La app debe pedir ACCESS_COARSE_LOCATION en la misma llamada, o en algunas versiones de Android 12 el diálogo no aparece.
Un diálogo de permiso de ubicación con dos opciones, Precise y Approximate, sobre los botones While using the app, Only this time y Deny
El diálogo de ubicación de Android 12, con "Precise" y "Approximate". Android Developers · CC BY 2.5
  • Dispositivos cercanos. BLUETOOTH_SCAN, BLUETOOTH_CONNECT y BLUETOOTH_ADVERTISE son permisos nuevos en tiempo de ejecución, que el usuario ve como “Nearby devices”, junto con UWB_RANGING. Reemplazan a BLUETOOTH y BLUETOOTH_ADMIN en las apps con target 31. Una app que nunca deduce la ubicación de los escaneos agrega usesPermissionFlags="neverForLocation" y prescinde de ACCESS_FINE_LOCATION.
  • Alarmas exactas. Para las apps con target 31, SCHEDULE_EXACT_ALARM es un permiso de app-op que se concede en la pantalla de acceso especial “Alarms & reminders”. Hay que llamar a canScheduleExactAlarms() antes de programar una; si el usuario lo revoca, la app se detiene y sus alarmas exactas se cancelan.
  • Sensores rápidos. Para las apps con target 31, el acelerómetro, el giroscopio y el magnetómetro quedan limitados a 200 Hz con registerListener(). Las frecuencias mayores necesitan HIGH_SAMPLING_RATE_SENSORS, y con el micrófono apagado el límite se aplica igual.
  • Hibernación. Para las apps con target 31, el reinicio automático de permisos de Android 11 crece: una app que el usuario no abre en unos meses también pierde sus jobs, alarmas, mensajes push y caché. El interruptor es “Remove permissions and free up space” en App info.
  • Actualizaciones sin confirmación. Una tienda de apps que declara UPDATE_PACKAGES_WITHOUT_USER_ACTION, un permiso normal que se otorga al instalar, puede llamar a setRequireUserAction(USER_ACTION_NOT_REQUIRED) en una sesión de PackageInstaller y actualizar apps sin un diálogo de confirmación. Solo funciona con las apps que ella instaló, o consigo misma, y en Android 12 solo si la app actualizada tiene target API 29 o superior.
La pantalla Location usage del panel de privacidad: una línea de tiempo de las apps que usaron la ubicación hoy y ayer, con un botón Manage permission
El panel de privacidad de Android 12, con el uso de la ubicación en 24 horas. Android Developers · CC BY 2.5

Qué cambió para tu app

Todas las apps en Android 12

CambioQué hacer
El sistema muestra su propia pantalla de inicioMigrar la actividad de splash propia a la API SplashScreen
El usuario puede elegir ubicación aproximadaPedir ACCESS_FINE_LOCATION y ACCESS_COARSE_LOCATION juntos
Los interruptores de cámara y micrófono pueden bloquear la app en silencioConsultar SensorPrivacyManager.supportsSensorToggle() y esperar datos vacíos
Los enlaces web genéricos abren la app solo en dominios aprobadosVerificar el dominio con Android App Links (https, BROWSABLE)
Back en la actividad raíz del launcher manda la tarea a segundo planoLlamar a super.onBackPressed() en lugar de finish()
Se bloquean los toques no confiables a través de superposicionesMantener las superposiciones en 0.8 de opacidad combinada o menos, o fuera del camino
ACTION_CLOSE_SYSTEM_DIALOGS está obsoleto y ya no funcionaQuitarlo; los servicios de accesibilidad usan GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE
Las apps pueden caer en el bucket restringido de App StandbyRevisar si getAppStandbyBucket() devuelve STANDBY_BUCKET_RESTRICTED
Desaparecen AES de BouncyCastle y las claves de 512 bitsUsar tamaños de clave de Conscrypt y un IV de 12 bytes para GCM
Display.getRealSize() y getRealMetrics() están obsoletosUsar WindowMetrics

Apps con target API 31

CambioQué hacer
Los componentes con intent filter deben declarar android:exportedtrue para la actividad del launcher y lo que llamen otras apps, false en el resto
Todo PendingIntent debe indicar su mutabilidadPasar FLAG_IMMUTABLE, o FLAG_MUTABLE solo si el intent debe completarse después
Los servicios en primer plano no pueden iniciarse desde segundo planoUsar trabajo acelerado de WorkManager, o una alarma exacta para una acción del usuario
Se bloquean los trampolines de notificaciónApuntar setContentIntent() directamente a la actividad
Las alarmas exactas necesitan SCHEDULE_EXACT_ALARMDeclararlo, revisar canScheduleExactAlarms() y usar alarmas exactas solo para horarios que ve el usuario
Bluetooth necesita los nuevos permisos en tiempo de ejecuciónDeclarar y pedir BLUETOOTH_SCAN, BLUETOOTH_CONNECT o BLUETOOTH_ADVERTISE
Las vistas de notificación propias van en una plantilla del sistema, de 48dp plegadasProbarlas en el panel y ofrecer una vista expandida
Las reglas de backup pasan a android:dataExtractionRulesEscribir reglas separadas en <cloud-backup> y <device-transfer>
adb backup deja fuera los datos de la appProbar los backups con un build depurable
WebView trata las cookies sin SameSite como LaxPoner SameSite=None; Secure en las cookies entre sitios
Las bibliotecas nativas del fabricante quedan ocultasDeclarar cada una con <uses-native-library>

Sin android:exported, la app no se instala en Android 12: el build falla con un error de fusión del manifiesto. La falta del flag de mutabilidad falla en tiempo de ejecución, y lint lo marca como UnspecifiedImmutableFlag.

La regla de los servicios en primer plano lanza ForegroundServiceStartNotAllowedException. Entre las excepciones están un mensaje FCM de alta prioridad, un toque en la notificación o el widget de la app, una alarma exacta, BOOT_COMPLETED y las apps que el usuario sacó de la optimización de batería.

sí no sí no El trabajo debe empezar ya ¿App visible para el usuario? startForegroundService ¿Aplica una excepción? Trabajo acelerado de WorkManager

Llamar a startForegroundService() de todos modos en la rama “no” es lo que lanza la excepción.

Qué perduró

  • Material You y el color dinámico siguen siendo la base del diseño de Android, y los 65 recursos de color del sistema siguen siendo la forma en que las apps leen la paleta.
  • El grupo Nearby devices creció: Android 13 sumó NEARBY_WIFI_DEVICES, así que escanear redes Wi-Fi tampoco necesita la ubicación.
  • Las alarmas exactas se endurecieron. Android 13 agregó USE_EXACT_ALARM para apps de alarmas y calendario, y dejó de conceder de antemano SCHEDULE_EXACT_ALARM a las instalaciones nuevas de apps con target 33.
  • La hibernación se quedó. Desde Android 13 el interruptor dice “Pause app activity if unused”.
  • Los servicios en primer plano siguieron cerrándose: las apps con target Android 14 deben declarar un tipo para cada uno.
  • La pantalla de inicio llegó a dispositivos anteriores con androidx.core:core-splashscreen, que la lleva hasta API 23.
  • ART como módulo dio resultado. En 2023 Google dijo que sus actualizaciones de ART llegaban a todos los dispositivos con Android 12 o posterior, con un arranque de apps hasta 30% más rápido en algunos.
  • Los parches de seguridad siguieron hasta marzo de 2025. El Android Security Bulletin de ese mes todavía incluye 12 y 12L entre las versiones de AOSP actualizadas; desde abril de 2025 la lista empieza en Android 13.

La versión menor que siguió, Android 12L (API 32), rehízo el sistema para pantallas grandes y tiene su propia nota en esta serie.

Para saber

  • El Easter egg es un reloj analógico. Si se arrastran sus agujas hasta las 12:00, empieza la etapa siguiente; el código registra “12:00 let’s gooooo”.
El Easter egg: una esfera de reloj gris con borde ondulado y dos agujas, sobre un degradado azul, bajo la barra de estado
Un fotograma del Easter egg, antes de que las agujas lleguen a las 12:00. Hajoon0102, Wikimedia Commons · CC BY-SA 4.0
  • Después el fondo se llena de burbujas con la paleta de acentos del sistema, y el egg desbloquea Paint Chips, un widget para la pantalla de inicio que muestra la paleta de color dinámico “in a manner similar to a set of paint samples from a hardware store”, como dice el comentario del string en AOSP.
  • En AOSP, el código que pasa del fondo de pantalla al tema está detrás de un flag llamado Monet (isMonetEnabled() en el ThemeOverlayController de SystemUI). La reseña de Ars Technica informó que Monet era el nombre en clave del sistema de color.
  • La constante S en el Build.java de AOSP lleva un comentario de una palabra: S..

Parte 1 de 8

2 min

Android 12 Developer Preview 1: solo por flasheo

18 de febrero de 2021. Primera build de Android 12, para desarrolladores. Exigió android:exported y mutabilidad en PendingIntent, y frenó foreground services desde segundo plano.

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

Google publicó la primera developer preview de Android 12 el 18 de febrero de 2021, ocho meses antes del despliegue en Pixel. El post de Dave Burke la llamó “just the start”, y Android Beta no estaba abierto para ella.

Fecha18 de febrero de 2021; Developer Preview 1.1 el 3 de marzo de 2021
BuildSPP1.210122.020.A3; 1.1 SPP1.210122.022
Parche de seguridadFebrero de 2021; 1.1 marzo de 2021
DispositivosPixel 3, 3a, 4, 4a, 4a 5G y 5; imágenes de 64 bits del Android Emulator; una build aparte para Android TV
Cómo se obteníaFlasheando una imagen de fábrica, o instalando una OTA en un Pixel con Android 11, sin borrar nada
Estabilidad de la APINo; Google la esperaba para agosto de 2021

Las reglas que luego definieron el target API 31 ya estaban aquí: los componentes con un intent filter debían declarar android:exported, cada PendingIntent necesitaba FLAG_MUTABLE o el nuevo FLAG_IMMUTABLE, y los foreground services ya no podían arrancar desde segundo plano. Para reemplazarlos, Google sumó los trabajos acelerados a JobScheduler y a WorkManager. Los trampolines de notificación quedaron bloqueados para las apps con target en la nueva plataforma, y todas las apps mostraban un toast al usar uno.

La build también trajo la transcodificación compatible de HEVC a AVC, las imágenes AVIF, OnReceiveContentListener para contenido enriquecido, la háptica derivada de una sesión de audio y el comportamiento de cookies SameSite en WebView. La restricción de la MAC de Netlink de Android 11 pasó a aplicarse a todas las apps, sin importar su target. ART se volvió un módulo Mainline. La mayoría de los cambios de comportamiento se podían activar uno por uno desde las opciones de desarrollador o con adb.

La Developer Preview 1.1 corrigió cortes de Wi-Fi, un cierre de System UI al capturar pantalla desde la pantalla de bloqueo, el consumo de batería por wake locks parciales y un lector de huellas que dejaba de responder.

Parte 2 de 8

2 min

Android 12 Developer Preview 2: efectos

17 de marzo de 2021. La segunda preview sumó desenfoques con RenderEffect, API de esquinas redondeadas, ocultar overlays, checksums de apps y CompanionDeviceService.

Leer por separado: Android 12 Developer Preview 2: efectos

La Developer Preview 2 salió el 17 de marzo de 2021, cuatro semanas después de la primera. Seguía siendo solo para desarrolladores, por flasheo manual o por OTA para quien ya tenía la Preview 1.

Fecha17 de marzo de 2021; 2.1 el 29 de marzo; 2.2 el 7 de abril de 2021
BuildSPP2.210219.008; 2.1 SPP2.210219.008.A1; 2.2 SPP2.210219.018
Parche de seguridadMarzo de 2021; 2.2 abril de 2021
DispositivosPixel 3, 3a, 4, 4a, 4a 5G y 5; Android Emulator; Android TV en el kit ADT-3
Cómo se obteníaFlasheo o instalación manual; por OTA desde la Preview 1 o 1.1
Estabilidad de la APINo

La Preview 2 se centró en gráficos, ventanas y dispositivos acompañantes:

  • RenderEffect desenfoca o aplica un filtro de color a cualquier vista con una llamada (View.setRenderEffect()), y Window.setBackgroundBlurRadius() desenfoca el fondo de la ventana.
  • Display.getRoundedCorner() y WindowInsets.getRoundedCorner() devuelven un RoundedCorner con su radio y su centro.
  • Window.setHideOverlayWindows() oculta toda ventana TYPE_APPLICATION_OVERLAY sobre la app, para pantallas como la confirmación de un pago.
  • PackageManager.requestChecksums() devuelve el digest de una app instalada.
  • CompanionDeviceService mantiene enlazada la app de un reloj o una pulsera mientras el dispositivo está cerca.
  • Las acciones de una notificación pueden pedir autenticación cuando se tocan desde la pantalla de bloqueo.
  • Picture-in-picture automático al deslizar hacia el inicio, la ventana guardada en el borde de la pantalla y el redimensionado para contenido que no es video.

Google pidió publicar una actualización compatible antes de la Beta 1, sin cambiar targetSdkVersion. La Developer Preview 2.1 actualizó WebView para corregir cierres de apps. La 2.2 corrigió un cierre de Ajustes en la configuración de Bluetooth, widgets que desaparecían tras una OTA y contraseñas de Wi-Fi que no se guardaban.

Parte 3 de 8

2 min

Android 12 Developer Preview 3: splash screens

21 de abril de 2021. La última developer preview sumó la splash screen del sistema, CallStyle, SCHEDULE_EXACT_ALARM, el nuevo manejo de enlaces web y dejó obsoleto RenderScript.

Leer por separado: Android 12 Developer Preview 3: splash screens

La Developer Preview 3 salió el 21 de abril de 2021, cuatro semanas antes de Google I/O. Fue la última build solo para desarrolladores; Google pidió publicar actualizaciones compatibles “over the next few weeks”, antes de la Beta 1.

Fecha21 de abril de 2021
BuildSPP3.210325.010
Parche de seguridadAbril de 2021
DispositivosPixel 3, 3a, 4, 4a, 4a 5G y 5; Android Emulator
Cómo se obteníaFlasheo o instalación manual; por OTA desde la Preview 2
Estabilidad de la APINo

La Preview 3 trajo la experiencia de arranque y la regla de las alarmas:

  • Splash screens. Una animación de arranque y una splash screen con el ícono de la app, activas por defecto en todas las apps y personalizables con las nuevas API de splash screen.
  • Notification.CallStyle para llamadas entrantes, en curso y filtradas.
  • SCHEDULE_EXACT_ALARM. Las apps con target Android 12 debían declararlo para programar alarmas exactas. Google lo describió como un permiso normal, concedido al primer inicio, que el usuario podía revocar en “Special app access”, y sumó canScheduleExactAlarms().
  • Enlaces web. Los enlaces que no estaban verificados como Android App Links ni aprobados por el usuario se abrían en el navegador por defecto, sin selector.
  • Reglas de backup. Las apps con target Android 12 recibieron un nuevo formato XML con reglas separadas para el backup en la nube y la transferencia entre dispositivos.
  • Cierres nativos. ApplicationExitInfo.getTraceInputStream() devolvía el tombstone de una salida REASON_CRASH_NATIVE como protocol buffer.
  • Cámara y multimedia. Extensiones de fabricante en Camera2, soporte para sensores quad bayer y claves estándar para la cuantización del codificador de video.

Google también dejó obsoleto RenderScript en favor de Vulkan y OpenGL, e hizo que los drivers de la Neural Networks API se actualizaran por Google Play services.

Parte 4 de 8

2 min

Android 12 Beta 1: Material You en I/O

18 de mayo de 2021. La primera beta abrió Android Beta y llegó a teléfonos de socios con Material You, ubicación aproximada, permisos Bluetooth, hibernación y performance class.

Leer por separado: Android 12 Beta 1: Material You en I/O

Google presentó la Beta 1 en Google I/O el 18 de mayo de 2021. Fue la primera build para usuarios pioneros: los dueños de un Pixel podían inscribirse en Android Beta y recibirla por OTA, y los teléfonos de ASUS, OnePlus, Oppo, Realme, Sharp, TCL, Transsion, Vivo, Xiaomi y ZTE podían instalar builds de cada fabricante.

Fecha18 de mayo de 2021
BuildSPB1.210331.013
Parche de seguridadMayo de 2021
DispositivosPixel 3, 3a, 4, 4a, 4a 5G y 5; teléfonos de socios; imágenes GSI; emulador
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APINo; seguía prevista para agosto de 2021

La Beta 1 fue la primera build con el rediseño Material You, que Google llamó “the biggest design change in Android’s history”. Los widgets ganaron esquinas redondeadas, casillas, interruptores y API de color dinámico, y el overscroll elástico reemplazó al brillo. Una app que pierde el foco de audio ahora baja su volumen hasta silenciarse.

En privacidad sumó la ubicación aproximada, BLUETOOTH_SCAN con neverForLocation y BLUETOOTH_CONNECT, y la hibernación de apps, que detiene las apps sin uso y corta sus trabajos y mensajes push. Google dijo que el restablecimiento automático de permisos había reseteado los permisos de más de 8,5 millones de apps sin uso en las dos semanas previas. La performance class dio a las apps una comprobación en tiempo de ejecución para dispositivos multimedia de gama alta.

Google también puso cifras al trabajo de rendimiento: los servicios centrales del sistema usaban un 22% menos de CPU, y Google Photos abría un 34% más rápido tras dejar los trampolines de notificación. El panel de privacidad, los indicadores de cámara y micrófono y sus interruptores se anunciaron para la Beta 2.

Parte 5 de 8

1 min

Android 12 Beta 2: el panel de privacidad

9 de junio de 2021. La segunda beta sumó el panel de privacidad, los indicadores e interruptores de cámara y micrófono, el aviso de lectura del portapapeles y el panel de Internet.

Leer por separado: Android 12 Beta 2: el panel de privacidad

La Beta 2 salió el 9 de junio de 2021 y trajo las funciones de privacidad que Google había anunciado en I/O. Los Pixel inscritos para la Beta 1 la recibieron solos.

Fecha9 de junio de 2021; Beta 2.1 el 23 de junio de 2021
BuildSPB2.210513.007; 2.1 SPB2.210513.011
Parche de seguridadJunio de 2021
DispositivosDel Pixel 3 al Pixel 5; teléfonos de socios como Sharp; Android TV; emulador
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APINo
  • Panel de privacidad. Una línea de tiempo de los accesos de las apps al micrófono, la cámara y la ubicación. Las apps explican un acceso manejando ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD.
  • Indicadores. Un ícono en la barra de estado cada vez que una app usa la cámara o el micrófono.
  • Interruptores. En Quick Settings cortan el acceso a cámara y micrófono para todas las apps, sin importar su target; una app bloqueada recibe imagen y audio vacíos. SensorPrivacyManager indica si el dispositivo los admite.
  • Aviso del portapapeles. Un toast cada vez que una app llama a getPrimaryClip() sobre un contenido copiado desde otra app.
  • Panel de Internet. Un solo panel en la barra de estado, Quick Settings y Ajustes para cambiar de proveedor y diagnosticar la conexión.

La Beta 2.1 corrigió una pantalla de bloqueo que ignoraba los deslizamientos y un widget At a Glance que dejaba de mostrar el clima y los eventos del calendario.

Parte 6 de 8

2 min

Android 12 Beta 3: API finales, API 31

14 de julio de 2021. La tercera beta dio las API finales de Android 12 y el SDK de API 31, con capturas desplazables, AppSearch, insets de indicadores y autorrotación por rostro.

Leer por separado: Android 12 Beta 3: API finales, API 31

La Beta 3 salió el 14 de julio de 2021 con las API finales de Android 12 y el SDK oficial de API 31. El comportamiento hacia las apps todavía no estaba congelado; Google dejó la estabilidad de plataforma completa para la Beta 4.

Fecha14 de julio de 2021; Beta 3.1 el 26 de julio de 2021
BuildSPB3.210618.013; 3.1 SPB3.210618.016
Parche de seguridadJulio de 2021
DispositivosDel Pixel 3 al Pixel 5; teléfonos de socios como Sharp y TCL; Android TV
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APIAPI finales; comportamientos aún abiertos
  • Capturas con desplazamiento. Un botón “Capture more” extiende la captura de un contenido desplazable. Las vistas estándar funcionan sin cambios; las interfaces propias usan la nueva API de scroll capture.
  • AppSearch. Un motor de búsqueda de texto completo en el dispositivo, con un índice local vía Jetpack y un índice central del sistema.
  • Insets de los indicadores. WindowInsets informa dónde pueden aparecer los indicadores de cámara y micrófono, para que las apps inmersivas no tapen sus controles.
  • Interruptores en empresas. Los administradores de dispositivos totalmente gestionados pueden restringir los interruptores de cámara y micrófono.
  • Apps acompañantes. Las apps vinculadas con Companion Device Manager pueden iniciar foreground services desde segundo plano si declaran un nuevo permiso normal.
  • Autorrotación. En el Pixel 4 y posteriores, la detección de rostro con la cámara frontal decide cuándo girar, dentro de Private Compute Core.
  • Juegos. Las API de Game Mode y el juego mientras se descarga.

La Beta 3.1 corrigió un bucle de arranque tras reiniciar, cierres de System UI y que el daemon low memory killer (lmkd) matara demasiados procesos.

Parte 7 de 8

1 min

Android 12 Beta 4: estabilidad de plataforma

11 de agosto de 2021. La cuarta beta alcanzó la estabilidad de plataforma, con las API, el comportamiento hacia las apps y las restricciones no-SDK congelados.

Leer por separado: Android 12 Beta 4: estabilidad de plataforma

La Beta 4 salió el 11 de agosto de 2021 y alcanzó la estabilidad de plataforma: las API del SDK y del NDK, el comportamiento del sistema hacia las apps y las restricciones de interfaces no-SDK quedaron finales. Google dijo que se podían publicar actualizaciones compatibles “knowing that the platform won’t change”.

Fecha11 de agosto de 2021; Beta 4.1 el 25 de agosto de 2021
BuildSPB4.210715.011; 4.1 SPB4.210715.014
Parche de seguridadAgosto de 2021
DispositivosDel Pixel 3 al Pixel 5; teléfonos de ASUS, OnePlus, Oppo, Realme, Sharp y ZTE; Android TV
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APISí

El anuncio no sumó funciones. Enumeró qué probar: para todas las apps, el panel de privacidad, los indicadores e interruptores, el aviso del portapapeles, el overscroll elástico, las splash screens y la eliminación de BouncyCastle; para las apps con target 31, el inicio de foreground services, la ubicación aproximada, SCHEDULE_EXACT_ALARM, las cookies SameSite en WebView, android:exported, las notificaciones personalizadas y los trampolines de notificación. Google pidió a quienes hacen librerías, SDK y motores de juego publicar primero, porque otros dependen de ellos.

La Beta 4.1 corrigió un bucle de arranque tras reiniciar, notificaciones emergentes que no aparecían, los controles de volumen al transmitir y el desbloqueo facial en algunos dispositivos.

Parte 8 de 8

1 min

Android 12 Beta 5: la release candidate

8 de septiembre de 2021. La última beta fue una release candidate para Pixel, ya con el Pixel 5a, sin API nuevas y con nuevas comprobaciones lint de Android Studio para Android 12.

Leer por separado: Android 12 Beta 5: la release candidate

La Beta 5 salió el 8 de septiembre de 2021, cuatro semanas después de la Beta 4. Google la describió como “a release candidate build of Android 12” y la última actualización beta antes de la versión oficial.

Fecha8 de septiembre de 2021
BuildSPB5.210812.002
Parche de seguridadAgosto de 2021
DispositivosPixel 3, 3a, 4, 4a, 5 y 5a; teléfonos de socios como Sharp; Android TV
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APISí, desde la Beta 4

La build no sumó API, solo correcciones y optimizaciones sobre lo congelado en la Beta 4. El Pixel 5a con 5G se sumó a los dispositivos compatibles. Google señaló las nuevas comprobaciones lint de Android Studio Arctic Fox para splash screens propias, la ubicación aproximada pedida junto a la precisa, los formatos multimedia y el permiso de muestreo alto de sensores.

Google publicó el código en AOSP el 4 de octubre de 2021, y el despliegue en Pixel empezó el 19 de octubre.

Clasificado en

Citas

61

Referencias externas