Notas de la versión de Android 12 y Android 12L

En esta página, se resumen las funciones principales de las versiones de Android 12 y Android 12L, y se proporcionan vínculos a información adicional. Los resúmenes de las funciones se ordenan según la ubicación de la documentación de las funciones en este sitio.

Arquitectura

Actualizaciones de la clase AlwaysOnHotwordDetector

A partir de Android 12, la clase AlwaysOnHotwordDetector, que incluye su método de fábrica, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector(), es una API del sistema (@SystemApi) en lugar de una API pública. La clase AlwaysOnHotwordDetector está diseñada para que la usen las apps de Asistente con privilegios a nivel del sistema, que se suelen incluir en la versión del SO. En Android 11 y versiones anteriores, la API está protegida con verificaciones que garantizan que el llamador sea la app de Asistente activa en ese momento, lo que hace que otras apps de terceros no puedan usar la API.

Además, Android 12 incluye mejoras de la función de activador de sonido para perfeccionar la atribución y la aplicación de permisos relacionados con el uso del micrófono a través de la API de activador de sonido. El uso del micrófono, incluido el uso indirecto, como mediante las clases SoundTriggerManager o AlwaysOnHotwordDetector, se atribuye al paquete de origen (app de Asistente) que llama a la clase AlwaysOnHotwordDetector. Esto mejora la privacidad del usuario y la transparencia en los paquetes que utilizan el micrófono. En Android 11 y versiones anteriores, el uso del micrófono se atribuye al usuario del sistema, ya que el paquete de origen no usa la API de activador de sonido directamente, sino a través de servicios de nivel superior que residen en el proceso system_server.

El impacto de estos cambios es el siguiente:

  • Las apps que no son del sistema y usan la clase AlwaysOnHotwordDetector no se compilan con la API de Android 12 porque la API se quitó de la plataforma pública.
  • Es posible que las apps del sistema existentes que usan la clase AlwaysOnHotwordDetector no puedan usar funciones de activador de sonido en el entorno de ejecución. A fin de solucionar el problema y permitir que estas apps accedan al micrófono mediante el activador de sonido, declara los permisos RECORD_AUDIO y CAPTURE_AUDIO_HOTWORD para estas apps.

Compatibilidad de lenguaje con Rust en Android

Android 12 ahora admite el uso de código Rust. En una nueva sección que agregamos a la documentación de configuración, proporcionamos orientación para desarrollar contenido en Android con Rust.

Para obtener más información sobre Rust en Android y varios módulos, y ver ejemplos (y ver detalles de configuración del IDE), consulta la nueva sección de Rust en Introducción a Rust en Android.

Encabezado de la imagen de arranque

En Android 12, se agrega el uso de la versión 4 del encabezado de la imagen de arranque, que es la imagen de arranque principal para los dispositivos que admiten la arquitectura de imagen genérica de kernel (GKI). Android 12 también proporciona un boot_signature para comprobar la integridad del kernel y el ramdisk. La verificación, que se realiza en VtsSecurityAvbTest, es obligatoria para los dispositivos que usan la arquitectura de GKI.

Para obtener más información, consulta la página Encabezado de la imagen de arranque.

Cambios en la implementación de bootconfig

La función bootconfig de Android 12, un mecanismo para pasar detalles de configuración de la compilación y del bootloader a Android 12, reemplaza las opciones de cmdline del kernel androidboot.* que se usan con Android 11 y versiones anteriores. Esta función proporciona una manera de separar los parámetros de configuración para el espacio de usuario de Android de aquellos para el kernel.

Para obtener más información, visita Cómo implementar bootconfig.

Resguardo de fuente personalizado

Antes de Android 12, la actualización de archivos de fuente instalados en el dispositivo en AOSP (en la partición /system/fonts) o las particiones del proveedor (en las particiones /product/fonts o /system/fonts) requería una actualización del sistema del OEM. Este requisito tiene un impacto significativo en la compatibilidad con los emojis. En Android 12, puedes usar el servicio del sistema FontManager para administrar los archivos de fuente instalados y actualizar los archivos de fuentes instalados en el dispositivo sin una actualización del sistema.

Para obtener información sobre esta nueva función, consulta Cómo implementar resguardos de fuentes personalizados.

Montones de DMA-BUF

En Android 12, GKI 2.0 reemplaza al asignador ION con montones de DMA-BUF.

Habilita los filtros de configuración regional

Android 12 presenta una función que permite configurar idiomas del sistema predeterminados y filtros de configuración regional para nuevos tipos de dispositivos. Esto te permite establecer el valor de propiedad de filtro y el idioma predeterminado mediante oem/oem.prop durante la calibración de fábrica, y configurar restricciones sin crear el filtro en la imagen del sistema.

Para obtener más información, consulta Cómo habilitar el filtro de configuración regional.

Escritura en la memoria flash de ramdisks del proveedor

Android 12 incorpora compatibilidad para escribir en la memoria flash de ramdisks del proveedor a través de un comando fastboot que extrae la imagen vendor_boot completa de un dispositivo. El comando solicita a la herramienta de fastboot del host que lea el encabezado de inicio del proveedor, vuelva a crear la imagen y escriba en la memoria flash de la imagen nueva. Esta compatibilidad incluye cambios en bootloader y fastboot para obtener los datos necesarios, como el desplazamiento y el tamaño de la partición.

Para obtener más información, consulta Cómo escribir en la memoria flash de ramdisks del proveedor en la página Fastboot en el espacio del usuario.

Control de versiones de GKI

A partir de Android 12, la parte de Android de la versión de KMI se puede extraer del kernel e insertarse en el manifiesto del dispositivo en el tiempo de compilación.

Para obtener más información, consulta Control de versiones de GKI.

Estadísticas de memoria históricas de eventos de MM

Los dispositivos que se lanzan con Android 12 pueden usar mm_events, un conjunto de estadísticas relacionadas con la memoria que se capturan de forma periódica mientras un sistema experimenta presión de memoria. mm_events está integrado con mecanismos de seguimiento perfetto y agrega una sobrecarga mínima de rendimiento. La recopilación de estadísticas permanece activa durante un período configurable y captura estadísticas a intervalos regulares.

Si quieres obtener información para usar las estadísticas de mm_events, consulta Eventos de MM: estadísticas de memoria históricas.

Restricciones de la ventana de alerta del sistema

Para mejorar la seguridad del ecosistema de Android, Android 12 dificulta la adquisición del permiso SYSTEM_ALERT_WINDOW y permite que apps de terceros bloqueen las superposiciones de otras apps de terceros.

Las apps preinstaladas no reciben automáticamente el appOp SYSTEM_ALERT_WINDOW en Android 12. El usuario debe otorgarlo de manera explícita antes de que una app preinstalada pueda usarlo. Las apps del sistema siguen recibiendo el permiso de forma predeterminada.

Las apps de terceros pueden inhabilitar las superposiciones de aplicaciones sobre ellas. Esto proporciona un mecanismo de protección contra los ataques de estilo cloak and dagger. Está disponible para todas las apps a fin de que las que requieran seguridad, como las bancarias, puedan protegerse. Para usar esta funcionalidad, una app debe declarar el permiso HIDE_OVERLAY_WINDOWS en su manifiesto.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) dejó de estar disponible y se reemplazó por HIDE_OVERLAY_WINDOWS.

Cambios en las particiones de inicio del proveedor

Los dispositivos Android 12 que usan la versión 4 del encabezado de la imagen de arranque son compatibles con varios ramdisks del proveedor en la partición vendor_boot. Estos fragmentos de ramdisk se concatenan en serie en la sección de ramdisk del proveedor. En una tabla de ramdisk del proveedor, se describe el diseño de la sección y los metadatos de cada fragmento de ramdisk del proveedor.

Debido a los cambios en las particiones de inicio del proveedor en Android 12 y versiones posteriores, no puedes usar default como nombre de fragmento del ramdisk del proveedor; se designa como reservado. No está permitido su uso para nombrar fragmentos de ramdisk del proveedor.

Para obtener más información, consulta Particiones de inicio del proveedor y Varios ramdisks del proveedor.

Audio

Enrutamiento combinado de dispositivos de audio

La función de enrutamiento combinado de dispositivos de audio agrega compatibilidad para transmitir sonido a varios dispositivos de audio de forma simultánea. Con esta función, las apps privilegiadas pueden seleccionar varios dispositivos preferidos para una estrategia específica por medio de las API del sistema. Las apps pueden descubrir las capacidades de los dispositivos de audio con mayor precisión a través de las APIs públicas que proporciona esta función.

Para obtener más información, consulta la página Enrutamiento combinado de dispositivos de audio.

Actualizaciones a la HAL de audio V7

A fin de solucionar problemas de retrocompatibilidad, el AIDL estable será obligatorio para todos los cambios de HAL a partir de Android 13. A fin de prepararse para esta futura adopción del AIDL y realizar mejoras, se harán cambios significativos en la versión 7 de la HAL de audio de Android 12.

Para obtener más información, consulta la sección Actualizaciones a la HAL de audio V7 y el ejemplo de política de audio.

Cámara

Entrada de metadatos estáticos de la cámara para dispositivos plegables

Android 12 incorpora la entrada de metadatos estáticos de la cámara deviceStateOrientationMap que permite que la HAL de la cámara informe al cliente y al framework de la cámara acerca de los cambios de orientación del sensor que se activan con un cambio en el estado de plegado de un dispositivo. De manera opcional, los dispositivos plegables pueden usar una o más cámaras lógicas compuestas por dispositivos físicos con diferentes orientaciones de sensores para distintos estados de plegado del dispositivo. La entrada de metadatos deviceStateOrientationMap permite que el framework de la cámara se asegure de que se apliquen las transformaciones de superficie de salida necesarias cuando el ID físico activo cambia en los resultados de la captura.

Para obtener información más detallada, consulta metadata_definitions.xml.

Requisito de compatibilidad con extensiones del proveedor de CameraX

En Android 12, los dispositivos que admiten extensiones de CameraX deben tener la propiedad ro.camerax.extensions.enabled configurada en true, que permite consultar si un dispositivo admite extensiones.

Para obtener más información, consulta Cómo configurar la biblioteca del proveedor en un dispositivo.

Compatibilidad con sensores Quad Bayer de la cámara

Android 12 presenta API de plataforma que permiten que las apps aprovechen los dispositivos con sensores de cámara de alta resolución, por lo general, con patrones de Quad o Nona Bayer, que ofrecen flexibilidad en términos de calidad de imagen y rendimiento con poca luz. Las API nuevas admiten el comportamiento de estos sensores si se tiene en cuenta que podrían admitir diferentes configuraciones y combinaciones de transmisión cuando operan en el modo de "resolución máxima" en lugar del modo "predeterminado".

A fin de implementar la compatibilidad con la HAL de la cámara para sensores de alta resolución, los fabricantes de dispositivos deben implementar cambios en los siguientes archivos:

Compatibilidad

Requisito de compatibilidad con ADN para tarjetas SIM

A partir de Android 12, todas las tarjetas SIM de los dispositivos utilizados para pruebas CTS deben ser compatibles con el almacenamiento de números de marcación abreviados (ADN).

Para obtener más detalles, consulta Pantalla y almacenamiento.

Actualizaciones del ITS de la cámara

Android 12 incorpora varias actualizaciones en el Paquete de prueba de imagen de la cámara (ITS), incluidas las pruebas nuevas y actualizadas, la refactorización a Python 3 y la adopción del framework de pruebas de Mobly.

Para obtener más información, consulta las Notas de versión del Paquete de prueba de imagen de la cámara de Android 12.

Actualizaciones de CDD

El Documento de definición de compatibilidad de Android 12 reitera lo mismo que las versiones anteriores con actualizaciones para funciones nuevas y cambios en los requisitos de funciones previas.

Conectividad

Segmentación de red 5G

Android 12 admite la segmentación de redes 5G, el uso de la virtualización de red para dividir las conexiones de una sola red en varias conexiones virtuales distintas que proporcionan diferentes cantidades de recursos a distintos tipos de tráfico. Esto permite a los operadores de red dedicar una parte de la red a proporcionar funciones específicas a un segmento particular de clientes.

Para obtener más información, consulta Segmentación de red 5G.

Perfiles del administrador de dispositivo complementario

Las apps orientadas a Android 12 y versiones posteriores pueden usar perfiles de dispositivo complementario cuando se conectan a un reloj. Usar un perfil simplifica el proceso de inscripción, ya que se agrupa en un solo paso el otorgamiento de un conjunto de permisos específicos del tipo de dispositivo.

Captura de pantalla de un teléfono que muestra un mensaje en el que se ofrece otorgar permisos

Los permisos agrupados se le otorgan a la app complementaria una vez que se conecta el dispositivo y solo duran el tiempo en el que esté asociado. Borrar la app o quitar la asociación elimina los permisos.

Para obtener más información, consulta Perfiles de dispositivo complementario.

Derecho de servicio de IMS (TS.43)

Android 12 tiene compatibilidad con la configuración de derecho de servicio de TS.43, una especificación GSMA que define el paso de verificación de derechos para la activación de servicios, que incluye voz por Wi-Fi (VoWiFi), voz por LTE (VoLTE), SMS por IP (SMSoIP), la activación del servicio integrada en el dispositivo (ODSA) de los dispositivos complementarios de eSIM (asociados con el dispositivo solicitante) y la información del plan de datos.

Para obtener más información, consulta Derecho de servicio de IMS.

Registro único de IMS

Android 12 agrega compatibilidad con un solo modelo de registro para proporcionar las funciones de MMTEL y RCS. Este modelo permite que en los dispositivos se administren todas las funciones de IMS mediante un único registro de IMS que proporciona el ImsService del dispositivo. En comparación con un modelo de registro dual, en el que se administran varios registros de IMS en un solo dispositivo, el registro único reduce el tráfico en la red de un proveedor y aumenta la confiabilidad.

Para obtener más información, consulta Registro único de IMS.

Detección de la zona horaria de la ubicación

Android 12 incluye la detección de la zona horaria de la ubicación, una función opcional de detección de zona horaria automática que permite que los dispositivos usen sus datos de ubicación y de mapa de zona horaria para determinar la zona horaria actual.

Para obtener más información, consulta Detección de la zona horaria de la ubicación.

Aleatorización de MAC

Android 12 presenta el tipo de aleatorización de MAC no persistente, que permite a Android volver aleatorizar direcciones MAC para ciertas redes al comienzo de cada conexión.

Para obtener más información, consulta Comportamiento de la aleatorización de MAC.

Selección de red

Android 12 presenta un nuevo mecanismo de selección de red por medio de la clase NetworkScore. La selección de red afecta la manera en la que Android entrega las solicitudes de red de la app y del sistema, y también influye en la forma en que se elige la red predeterminada de una app.

Para obtener más información, consulta Selección de red.

Notificación CallStyle

A partir de Android 12, recomendamos que las apps usen el nuevo estilo de notificación, CallStyle, para las llamadas de voz y video entrantes y en curso. Este estilo de notificación incluye botones de acción para responder, rechazar y colgar llamadas telefónicas. También usa el mismo estilo centrado en la persona que usan las conversaciones, lo que concuerda con su comportamiento de clasificar las notificaciones de llamadas en la parte superior del panel.

Para que las apps usen el estilo de notificación CallStyle, deben emplear un intent de pantalla completa o un servicio en primer plano (con el permiso asociado). Con este estilo, se clasifican las notificaciones de las llamadas en la parte superior del panel. En el caso de las llamadas en curso, este estilo agrega un chip a la barra de estado que permite a los usuarios volver rápido a la app que realiza la llamada.

Para obtener más información, consulta Notificaciones de llamadas.

Actualizaciones de Passpoint

Android 12 incluye Passpoint R3 y otras funciones de Passpoint, como términos y condiciones, URL de información de lugares, prefijos de identidad decorados y el manejo inminente de la desautenticación.

Para obtener más información sobre estas funciones, consulta Passpoint (Hotspot 2.0).

Actualizaciones de Acceso rápido a Wallet

En Android 12 o versiones posteriores, la función de Acceso rápido a Wallet está disponible desde el panel y no desde el menú de encendido, como en Android 11. La IU de Wallet ahora se ejecuta en la IU del sistema y se encuentra en frameworks/base/packages/SystemUI/src/com/android/systemui/wallet.

Para obtener más información, consulta Acceso rápido a Wallet.

Experiencia del usuario con conectividad simplificada

Android 12 proporciona una experiencia de conectividad simplificada opcional que ayuda a los usuarios a comprender mejor sus conexiones de red, alternar entre los proveedores de Internet y solucionar problemas de conectividad de red.

Para obtener más información, consulta Interfaz de usuario de conectividad.

Prioridad de la fuente de tiempo

A partir de Android 12, el framework prioriza la fuente de tiempo del protocolo NTP por sobre la fuente de identidad de red y zona horaria (NITZ) de forma predeterminada.

Para obtener detalles sobre cómo configurar y probar la prioridad de la fuente de tiempo en tu dispositivo, consulta Prioridad de la fuente de tiempo.

Activar o desactivar 2G, o inhabilitarla

Para mejorar la seguridad, Android 12 presenta un botón de activación/desactivación de 2G en Configuración que les permite a los usuarios inhabilitar por completo las conexiones móviles 2G. Se debe implementar la HAL de Radio 1.6 para esta función.

La función de activación/desactivación de 2G está habilitada de forma predeterminada. Los proveedores pueden inhabilitar la función en el entorno de ejecución a través de la marca KEY_HIDE_ENABLE_2G de CarrierConfig.

Los fabricantes de dispositivos deben asegurarse de que todas las redes estén disponibles durante las llamadas de emergencia.

Especificaciones de UICC

En Android 12, para ejecutar las pruebas de la API del proveedor de CTS, el dispositivo debe usar una UICC del desarrollador con privilegios de proveedor del CTS que cumplan con los requisitos especificados en la versión más reciente de la especificación del perfil de prueba de GSMA TS.48 de terceros.

Consulta Preparación de UICC para obtener más información.

Simultaneidad de PA/PA de Wi-Fi

Android 12 incorpora la función de simultaneidad de PA/PA de Wi-Fi, que permite a los dispositivos activar un hotspot de conexión doble de puente (PA+PA).

Para obtener más información, consulta Simultaneidad de PA/PA de Wi-Fi.

Elusión de canales coex de Wi-Fi/datos móviles

Android 12 presenta la función de elusión de canales coex de Wi-Fi/datos móviles, que identifica y evita el uso de canales de Wi-Fi no seguros cuando hay interferencia entre canales de datos móviles. Esto incluye interfaces como STA, SoftAp, Wi-Fi directo (P2P) y Wi-Fi Aware (NAN).

Mejoras en el protocolo de seguridad de Wi-Fi

Android 12 incluye compatibilidad con H2E de WPA3, el modo de transición de WPA2/WPA3-Enterprise y la indicación de inhabilitación de la transición.

Para obtener más información, consulta WPA3 y Wi-Fi Enhanced Open.

Simultaneidad de STA/STA de Wi-Fi

Android 12 incorpora la función de simultaneidad de STA/STA de Wi-Fi, que permite que los dispositivos se conecten a dos redes Wi-Fi de manera simultánea.

Para obtener más información, consulta Simultaneidad de STA/STA de Wi-Fi.

Dispositivos

Nuevas funciones automotrices de Android 12

Consulta las novedades de Automotive para obtener más información sobre estas funciones nuevas:

Pantalla

Bloqueo de toques no confiables

Para preservar la seguridad del sistema y ofrecer una buena experiencia del usuario, Android 12 agrega compatibilidad con el bloqueo de eventos táctiles no confiables. Esto evita que las apps consuman eventos táctiles en los que una superposición oculta la app de forma insegura.

Notificaciones y widgets de conversación

Android 11 agregó compatibilidad para personalizar el comportamiento y la posición de las notificaciones de conversación en el panel de notificaciones por prioridad y nivel de alerta, lo que permite que las conversaciones se marquen como importantes y que las burbujas específicas de conversaciones se inicien en el espacio de conversación. A partir de estas funciones de Android 11, la función del widget de conversación de Android 12 permite a los usuarios agregar widgets de conversación para contactos importantes a la pantalla principal, con lo cual, pueden reanudar conversaciones fácilmente sin esperar una notificación.

Para obtener más información, consulta Notificaciones y widgets de conversación.

Desenfoque de ventanas

Las APIs públicas están disponibles en Android 12 para implementar efectos de desenfoque de ventana (como desenfoque del fondo y desenfoque detrás). Con estas API, puedes desenfocar lo que haya detrás de tu propia ventana. Puedes crear ventanas con fondos desenfocados, lo que genera un efecto de cristal esmerilado, o bien mostrar ventanas con toda la pantalla detrás de ellas desenfocada, lo que genera un efecto de profundidad de campo. También puedes combinar ambas opciones.

Para obtener más información sobre esta función nueva y cómo implementarla, consulta la página Desenfoque de ventanas.

Ampliación de ventanas

En Android 12, los usuarios con visión reducida pueden ampliar cualquier elemento de la pantalla mediante la función de ampliación de la ventana. La ampliación de ventana permite a los usuarios ampliar una parte seleccionada de la pantalla, a diferencia de lo que sucede cuando usan zoom en toda una pantalla. La ventana seleccionada se puede arrastrar por toda la pantalla, lo que les permite ampliar diferentes partes según sea necesario.

Para obtener más información, consulta Ampliación de ventanas.

Enterprise

Actualizaciones de la administración de dispositivos

Android 12 incluye las siguientes actualizaciones de la administración de dispositivos:

  • Actualizaciones de segregación de datos de perfiles administrados. En los dispositivos personales con un perfil de trabajo, Android 12 quita el acceso a los identificadores de hardware del dispositivo (IMEI, MEID y número de serie) y proporciona un ID único y específico de inscripción que identifica la inscripción del perfil de trabajo a una organización específica. Para obtener más detalles, consulta Identificadores de dispositivos.

  • Actualizaciones de la provisión de dispositivos. Android 12 incluye varios cambios en la provisión de dispositivos. Para obtener detalles y una lista de cambios, consulta Actualizaciones de Android 12.

Gráficos

Manejo de conexiones directas en la HAL del compositor

Las capacidades de visualización (como los modos de visualización y los tipos de HDR compatibles) pueden cambiar dinámicamente en dispositivos que tienen pantallas conectadas de forma externa (mediante HDMI o DisplayPort), como decodificadores de Android TV (STB) y dispositivos de transmisión libre (OTT). A partir de Android 12, los cambios en el framework admiten las capacidades de manejo de conexiones directas y visualización dinámica.

Para obtener más información, consulta Manejo de conexiones directas en la HAL del compositor.

Componentes modulares del sistema

Android 13 contiene varios componentes de sistema modulares nuevos y actualizados. Los nuevos módulos son los siguientes:

  • ART: Su objetivo es mejorar la experiencia de Android ofreciendo a los usuarios las optimizaciones, las funciones y las correcciones de errores más recientes del entorno de ejecución administrado.

  • Programación del dispositivo: Este módulo contiene una lógica que detecta si el dispositivo se encuentra en estado de inactividad o no, y si puede reiniciarse sin interrumpir al usuario.

Actualizaciones de los siguientes módulos existentes:

Contenido multimedia

Transcodificación de contenido multimedia compatible

La transcodificación de contenido multimedia compatible permite que los dispositivos usen formatos multimedia modernos y eficientes en cuanto al almacenamiento para la captura de video, como HEVC, sin perder compatibilidad con las apps. Con esta función, los fabricantes de dispositivos pueden usar HEVC en lugar de AVC de forma predeterminada para mejorar la calidad de video y, al mismo tiempo, reducir los requisitos de almacenamiento y ancho de banda. Para obtener más información, consulta Transcodificación de contenido multimedia compatible.

Rendimiento

Hibernación de apps

Android 12 ofrece la capacidad de poner a hibernar apps que el usuario no usa durante algunos meses, de manera similar a la revocación automática de permisos.

Consulta Hibernación de apps para obtener más información.

Capa de abstracción de cgroup

La capa de abstracción del grupo de control (cgroup) en Android 12 presenta funciones nuevas, como la posibilidad de definir controladores de cgroup específicos como opcionales y usar un nuevo comando task_profiles que reemplace el comando writepid obsoleto. Este reemplazo garantiza que las implementaciones de cgroup subyacentes no tengan efecto en las capas superiores cuando se migren tareas en las jerarquías de cgroup. Android 12 también incluye compatibilidad con perfiles de tareas por nivel de API.

Para obtener más información, consulta Capa de abstracción de cgroup.

Permisos

Permisos de Bluetooth

Android 12 presenta los siguientes permisos Bluetooth, que reemplazan los permisos BLUETOOTH y BLUETOOTH_ADMIN:

  • BLUETOOTH_SCAN: Permite que las apps descubran y vinculen dispositivos Bluetooth cercanos.
  • BLUETOOTH_ADVERTISE: Permite que las apps se anuncien a dispositivos Bluetooth cercanos.
  • BLUETOOTH_CONNECT: Permite que las apps se conecten a dispositivos Bluetooth vinculados.

Estos permisos forman parte del nuevo grupo de permisos de tiempo de ejecución NEARBY_DEVICES. Este grupo de permisos habilita casos de uso, como conectarse a un reloj inteligente, sin requerir el permiso de tiempo de ejecución LOCATION.

Estos permisos nuevos son compatibles con las apps y no se necesitan cambios en el caso de apps que se ejecutan en Android 11 o versiones anteriores. En el caso de las apps heredadas orientadas a Android 11 o versiones anteriores, la plataforma convierte automáticamente las solicitudes de los permisos de Bluetooth heredados en solicitudes de los permisos nuevos. Cuando una app se actualiza para orientarse a Android 12 o a una versión posterior, debe solicitar explícitamente los nuevos permisos de Bluetooth.

Para obtener más información acerca de cómo usar los permisos, consulta Permisos de Bluetooth.

Indicadores de privacidad

Para brindar transparencia a los usuarios, Android 12 muestra indicadores cuando una app usa una fuente de datos privada a través de los permisos app-op de la cámara y el micrófono.

App-op registra el estado de actividad y la cantidad de llamadas a la API individuales, además de interactuar con los indicadores del micrófono y la cámara de Android 12 para mostrar a los usuarios cuando las apps acceden a los datos de la cámara y el audio en sus dispositivos. Cuando los usuarios hacen clic en los indicadores del micrófono o de la cámara, ven qué apps accedieron a sus datos.

Esta función es obligatoria para todos los OEM. Para obtener más información, consulta Indicadores de privacidad.

Ubicación

A partir de Android 12, los usuarios pueden solicitar que una app solo obtenga la precisión aproximada cuando acceda a la información de ubicación.

Este cambio afectará a las apps solo cuando estén orientadas a Android 12 o versiones posteriores. Sin embargo, en los dispositivos con una versión anterior del módulo PermissionController, este cambio afecta a todas las apps, independientemente de la versión del SDK de destino.

Tiempo de ejecución

Verificaciones de Dexpreopt y <uses-library>

Android 12 tiene cambios en el sistema de compilación para la compilación anticipada de archivos DEX (dexpreopt) para módulos de Java que tienen dependencias <uses-library>. En algunos casos, estos cambios del sistema de compilación pueden romper compilaciones.

Si quieres saber cómo prepararte para las fallas y conocer las formas de corregirlas y mitigarlas, consulta Verificaciones de Dexpreopt y <uses-library>.

Pruebas

Conjunto de pruebas de compatibilidad (CTS)

En Android 12, se introdujeron muchos módulos de claves nuevos y cambios en las pruebas para CTS. Consulta las Notas de versión de CTS para obtener más información.

TV

Servicio de control de HDMI-CEC

Android 12 usa HDMI-CEC para controlar automáticamente las pantallas conectadas por HDMI cuando un dispositivo se activa o se suspende.

Para obtener más información, consulta Servicio de control de HDMI-CEC.

Framework de Tuner

En Android 12:

  • El frontend con Tuner HAL 1.1 o versiones posteriores es compatible con el estándar DTMB de televisión digital. Se admiten las siguientes capacidades y opciones de frontend:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • La API del SDK de Tuner admite nuevas funciones en Tuner HAL 1.1, que es una actualización retrocompatible de la versión 1.0 de Tuner.

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion() verifica la versión de HAL que se ejecuta.

Actualizaciones

Compresión de APEX

Después de que se instala una actualización de un contenedor Android Pony EXpress (APEX), su versión preinstalada deja de usarse, pero ocupa la misma cantidad de espacio de memoria. Ese espacio ocupado no estará disponible. En Android 12, la compresión de APEX minimiza este impacto de almacenamiento mediante el uso de un conjunto muy comprimido de archivos de APEX en particiones de solo lectura (como la partición /system). Para leer sobre la compresión de APEX en Android 12, consulta Archivos de APEX comprimidos.

Seguridad y conveniencia de la reanudación en el reinicio

Android 12 incorpora compatibilidad mejorada con varios clientes y funcionalidad de reinicio basada en el servidor. El proceso de reanudación en el reinicio (RoR) proporciona seguridad y conveniencia adicional a los usuarios, ya que las actualizaciones inalámbricas se pueden realizar durante los tiempos de inactividad del dispositivo, mientras que las funciones de actualización de varios clientes y basadas en el servidor de Android 12 brindan seguridad del tipo de nivel de hardware del dispositivo.

Para obtener más información, consulta Reanudación en el reinicio.

Reproducción del PIN de la SIM con RoR

Android 12 cuenta con reproducción del PIN de la SIM para una verificación fluida de códigos PIN después de un reinicio iniciado por RoR. El PIN de la SIM se vuelve a encriptar y se almacena cada vez que un usuario lo habilita, verifica o modifica correctamente.

Para obtener más información, consulta Reproducción del PIN de la SIM.

Actualizaciones de A/B virtuales

Android 12 ofrece la opción de compresión de A/B virtual en las particiones con instantáneas. En Android 12, se pueden crear instantáneas de las particiones actualizables que el bootloader no usa para ahorrar espacio. Dichas particiones también se pueden comprimir. Si habilitas la compresión de instantáneas en tu compilación para Android 12, ahorrarás espacio en la partición /data.

La implementación de A/B virtual con compresión de instantáneas requiere cambios en el código específico del dispositivo. Consulta los cambios y los detalles de implementación en las páginas Descripción general de A/B virtual e Implementación de A/B virtual.