<CarlosDev/>

Actual

Android 12L: hecho para tablets y plegables

API 32, marzo de 2022. Una actualización de Android 12 que dio a tablets y plegables barra de tareas, pantalla dividida e interfaz a dos columnas, sin cambios incompatibles.

Publicado
Lectura
12 min
Redacción
Estable
Serie
Parte 14 de 19 · Android, versión por versión
Banner de Android 12L, con el logo de Android 12.
En este registro11 secciones

Android 12L es la versión que Google hizo para pantallas grandes. Dio a tablets, plegables y dispositivos ChromeOS una barra de tareas, pantalla dividida con arrastrar y soltar, y una interfaz del sistema a dos columnas. Para los desarrolladores trajo un nivel de API nuevo, el 32, sin ningún cambio incompatible, así que nada obligaba a una app a apuntar a él.

12L es una actualización de funciones (feature drop) de Android 12, no una versión nueva. Todo lo que Android 12 cambió para las apps sigue vigente, y esa nota lo explica.

La pantalla de inicio de un teléfono con 12L, con un fondo oscuro, la fecha arriba a la izquierda, cuatro íconos de apps teñidos de celeste en el dock y una barra de búsqueda debajo
La pantalla de inicio de 12L en un emulador del tamaño de un teléfono. La barra de tareas y los diseños a dos columnas solo aparecen en pantallas grandes. Wikimedia Commons · Apache 2.0

De un vistazo

VersiónAndroid 12L
Nivel de API32
Nombre12L, público. Internamente “S V2” (Sv2 en el SDK Manager); ver abajo
Build.VERSION_CODESS_V2
LanzamientoEl despliegue en Pixel empezó el 7 de marzo de 2022
Dispositivos de lanzamientoPrimero del Pixel 3a al Pixel 5a; Pixel 6 y 6 Pro desde la compilación de abril de 2022
Fecha límite de target API en Google PlayNinguna. Google dijo que no exigiría apuntar a 12L, y Play pasó de 31 a 33

Google anunció 12L el 7 de marzo de 2022 y lo publicó en AOSP esa misma semana. La primera compilación, SP2A.220305.012, llegó a los Pixel 3a, 4, 4a, 4a (5G), 5 y 5a. Los Pixel 6 y 6 Pro recibieron su primera compilación de 12L, SP2A.220405.004, con la actualización de abril. Para otros fabricantes, Google dijo que 12L llegaría a tablets y plegables de Samsung, Lenovo y Microsoft más adelante ese año.

Antes llegaron la Developer Preview 1 el 27 de octubre de 2021, la Beta 1 el 8 de diciembre de 2021 con la API 32 definitiva, la Beta 2 el 12 de enero de 2022 y la Beta 3 el 9 de febrero de 2022. Cada una tiene su propia parte más abajo.

El nombre. Google usó “12L” en público y nunca un postre. El código dice S_V2, su comentario dice “S V2”, las ramas de AOSP se llaman android-s-v2-* y el SDK Manager muestra la plataforma como Android 12L (“Sv2”). Android 12 fue Snow Cone, un nombre que Dave Burke confirmó en octubre de 2021. “Snow Cone v2” se deduce de ahí, pero ni el código ni la documentación de Google usan ese nombre.

Qué trajo

  • Interfaz del sistema a dos columnas. En pantallas grandes, el panel de notificaciones muestra Quick Settings y las notificaciones en dos columnas. La pantalla de bloqueo usa dos columnas para notificaciones y reloj, y la configuración inicial y Settings también aprovechan el espacio.
  • Barra de tareas. Una barra de tareas en pantallas grandes abre y cambia de app. Se arrastra una app desde ella para dividir la pantalla, se desliza hacia arriba para ir al inicio y una pulsación larga la muestra u oculta.
  • Pantalla dividida desde Overview. Una acción “Split” nueva en Overview divide la pantalla con un toque.
  • Controles de bloqueo a un lado. En tablets, el teclado del PIN y el patrón se coloca en un lado de la pantalla. Un toque en el otro lado lo mueve allí.
  • Plegables. Una cuadrícula de inicio ajustada y una transición más fluida al plegar y desplegar entre la pantalla exterior y la interior.
  • APIs de audio espacial. Spatializer, que se obtiene con AudioManager.getSpatializer(), indica si el dispositivo espacializa el sonido y cómo. AudioAttributes sumó setSpatializationBehavior() y AudioFormat sumó máscaras de canales de hasta 9.1.6.
  • Arrastrar y soltar accesible. ACTION_DRAG_START, ACTION_DRAG_DROP y ACTION_DRAG_CANCEL permiten a un servicio de accesibilidad iniciar un arrastre. La vista recibe entonces DRAG_FLAG_ACCESSIBILITY_ACTION y el sistema arrastra sin animaciones.
  • Cámaras en plegables. CameraCharacteristics.INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP asocia cada estado de plegado con la orientación del sensor, para cámaras lógicas cuyos sensores físicos difieren.
  • Activity embedding. Jetpack WindowManager muestra dos actividades lado a lado, como una lista y su detalle, con poca o ninguna refactorización. Salió como experimental en WindowManager 1.0.0-beta03 el 27 de octubre de 2021. Funciona en pantallas grandes con Android 12L o superior cuyo fabricante incluye la interfaz de extensiones de ventana.
El panel de notificaciones de 12L en una pantalla grande: mosaicos de Quick Settings y un reproductor en la columna izquierda, notificaciones de conversaciones en la columna derecha
El panel de notificaciones a dos columnas en una pantalla grande. Android Developers · CC BY 2.5

Seguridad y privacidad

12L no sumó funciones de seguridad propias: la lista de mejoras de seguridad por versión de Google no tiene una entrada para 12L. Salió con las correcciones de sus propias notas de seguridad, que listan 56 CVE: 3 de gravedad alta, 52 moderada y una de gravedad desconocida. Las compilaciones de AOSP traen por defecto el nivel de parche de seguridad 2022-03-01.

Permisos

Un permiso nuevo, y las apps de Play Store no pueden obtenerlo. LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK es signature|preinstalled. Permite que una app del sistema o preinstalada abra su propia pantalla dentro de la app Settings a dos paneles con Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY. Ningún permiso de tiempo de ejecución cambió.

Qué cambió para tu app

Google prometió cero cambios incompatibles, y 12L no tiene una página propia de cambios de comportamiento: su resumen enlaza a las de Android 12. Lo que cambió alcanza a toda app en una pantalla grande, apunte a lo que apunte:

CambioQué hacer
La barra de tareas se informa como un inset y puede aparecer u ocultarse en cualquier momentoLee los insets con ViewCompat.setOnApplyWindowInsetsListener(); la barra cuenta en navigationBars() y systemBars()
Cualquier app puede arrastrarse a pantalla dividida (desde Android 12)Prueba la pantalla dividida con ventanas de varios tamaños, incluso con resizeableActivity="false"
Una pantalla virtual de MediaProjection se escala para caber en su superficie, como centerInsideRevisa la grabación de pantalla y el envío a otra pantalla, también al plegar el dispositivo
Los fabricantes pueden personalizar el letterboxing: posición a izquierda o derecha y un botón de reinicio rediseñadoUsa diseños adaptables para pantallas de más de 600dp y prueba en modo de compatibilidad
Desde 12L, algunas pantallas grandes ignoran la orientación fija de una app y la muestran con letterboxingAdmite ambas orientaciones, o prueba lo que ve el usuario
Play revisa las apps con sus pautas de calidad para pantallas grandesUna app que no las cumple muestra un aviso en su ficha a usuarios de pantallas grandes, y Play suma valoraciones específicas
Una app de noticias en vertical, con letterboxing en el centro de una tablet en horizontal, y una barra de tareas con seis iconos abajo
Una app vertical en modo de compatibilidad, con la barra de tareas debajo. Android Developers · CC BY 2.5

Para compilar contra 12L, pon compileSdkVersion y targetSdkVersion en 32. Usa WindowMetrics de Jetpack WindowManager en lugar de Display.getRealSize() para dimensionar tu diseño.

Qué perduró

  • El trabajo en pantallas grandes. Android 13 dice que parte de las optimizaciones para tablets de 12L: interfaz del sistema, multitarea y modos de compatibilidad.
  • El letterboxing siguió creciendo. Android 13 sumó un diálogo que enseña a mover una app con letterboxing o ponerla en pantalla dividida.
  • Activity embedding se volvió una API más amplia en WindowManager 1.1.0 (junio de 2023), con ActivityEmbeddingController y una propiedad del manifiesto para habilitar las divisiones.
  • La API 32 siguió siendo opcional. El requisito de Play pasó de la API 31 en 2022 a la API 33 en agosto de 2023. La regla de Google cuenta las versiones principales, y 12L fue una actualización de funciones.
  • Los parches de seguridad de 12L terminaron con los de Android 12. El Android Security Bulletin de marzo de 2025 es el último que incluye 12L entre las versiones de AOSP actualizadas.

Para saber

  • La constante S_V2 lleva una línea de Shakespeare en su comentario: “Once more unto the breach, dear friends, once more.” Abre el discurso de Enrique V a sus soldados ante Harfleur, en el acto 3, escena 1.
  • En 12L, Build.VERSION.RELEASE sigue diciendo 12. La compilación define PLATFORM_VERSION_LAST_STABLE := 12, y source.android.com lista 12L como versión 12, CTS 12.1. Comprueba SDK_INT >= 32, nunca el texto de la versión.
  • La API 32 quitó una obsolescencia. Environment.getExternalStorageDirectory(), getExternalStoragePublicDirectory() y MediaStore.MediaColumns.DATA, obsoletos desde Android 10, dejaron de estarlo, y siguen sin estarlo.
  • Google contaba más de 250 millones de dispositivos Android de pantalla grande, entre tablets, plegables y ChromeOS, cuando anunció 12L en octubre de 2021.

Parte 1 de 4

1 min

12L Developer Preview 1: solo en el emulador

27 de octubre de 2021. Anunciada en Android Dev Summit, la primera build de 12L solo corría en el emulador, con barra de tareas, interfaz a dos columnas y API provisional Sv2.

Leer por separado: 12L Developer Preview 1: solo en el emulador

Google anunció 12L en Android Dev Summit el 27 de octubre de 2021 y publicó la Developer Preview 1 ese mismo día. Era solo para desarrolladores y solo corría en el Android Emulator: los teléfonos no la recibieron.

Fecha27 de octubre de 2021
BuildSPP4.211001.003
Parche de seguridadOctubre de 2021
DispositivosAndroid Emulator (x86 de 64 bits y ARM v8-A); después, la Lenovo Tab P12 Pro
Estabilidad de la APINo; nivel de API provisional Sv2, y Google esperaba cambios en la API antes de la final

La build ya tenía lo que identifica a 12L: el panel de notificaciones y la pantalla de bloqueo a dos columnas en pantallas de más de 600dp, la barra de tareas con arrastrar y soltar a pantalla dividida, y un letterboxing que los fabricantes pueden personalizar. El post de Dave Burke prometió que no habría cambios incompatibles, así que Google no exigiría apuntar a 12L.

Para usar las API nuevas, una app tenía que poner compileSdkVersion, targetSdkVersion y minSdkVersion en "Sv2". Google Play bloqueaba la publicación de apps que apuntaban a Sv2. El consejo de Google fue probar la app actual en pantalla dividida con ventanas de varios tamaños y en el nuevo modo de compatibilidad. Lenovo ofreció después la misma Developer Preview 1 para su Tab P12 Pro, la primera tablet real que podía correr 12L.

Parte 2 de 4

1 min

12L Beta 1: API 32 final y teléfonos Pixel

8 de diciembre de 2021. La primera build de 12L para teléfonos Pixel por Android Beta, y la primera con las API finales en el nivel 32, antes de lo que planeaba Google.

Leer por separado: 12L Beta 1: API 32 final y teléfonos Pixel

La Beta 1 salió el 8 de diciembre de 2021. Fue la primera build de 12L para teléfonos y la primera con las API finales. Google dijo que “finalized the APIs early”: su calendario de la preview las tenía previstas para la Beta 2.

Fecha8 de diciembre de 2021
BuildS2B1.211112.006
Parche de seguridadDiciembre de 2021
DispositivosPixel 3a, 4, 4a, 4a (5G), 5 y 5a por OTA; Android Emulator; GSI
Estabilidad de la APISí; el SDK oficial de la API 32, con un diff de API de Sv2 DP1 a 32

Los dueños de un Pixel la recibían al inscribirse en Android Beta, y los teléfonos que seguían en la beta de Android 12 la recibieron solos. Los Pixel 6 y 6 Pro figuraban como “coming soon”. En un teléfono no aparecen las funciones para pantallas grandes, pero la build traía el parche de seguridad de diciembre y las correcciones de errores.

Con la API 32 final, los desarrolladores podían compilar contra el SDK oficial. Google pidió atender los comentarios de los usuarios de la beta y publicar actualizaciones compatibles sin cambiar el target de la app. Lenovo todavía ofrecía la Developer Preview 1 para la Tab P12 Pro, con actualizaciones “in the weeks ahead”.

Parte 3 de 4

1 min

12L Beta 2: correcciones, aún sin Pixel 6

12 de enero de 2022. Una actualización incremental con el parche de enero y arreglos para el reloj de bloqueo, Recientes y los gestos. El Pixel 6 aún no podía recibir 12L.

Leer por separado: 12L Beta 2: correcciones, aún sin Pixel 6

La Beta 2 salió el 12 de enero de 2022, una “incremental beta update” sin API nuevas. Google no la anunció en el Android Developers Blog; la fecha y la build vienen de sus notas de versión de 12L.

Fecha12 de enero de 2022
BuildS2B2.211203.006
Parche de seguridadEnero de 2022
DispositivosSeries Pixel 3a, 4, 4a, 5 y 5a; Android Emulator; GSI

Las correcciones que Google listó: el reloj de la pantalla de bloqueo no estaba centrado, Recientes mostraba todas las apps como una imagen negra con “App isn’t available”, y la navegación por gestos a veces dejaba una imagen de la app anterior sobre la actual. También se corrigieron íconos demasiado pequeños en la pantalla de bloqueo de pantallas grandes y bitmaps que desaparecían en los widgets. Sobre el Pixel 6, Google dijo que estaba “working to bring 12L to Pixel 6 soon”.

El calendario de Google pedía en este hito empezar las pruebas finales de compatibilidad y publicar versiones compatibles. Su página de resumen todavía decía que las API se cierran “Starting at Beta 2”, una línea escrita antes de que la Beta 1 las adelantara.

Parte 4 de 4

1 min

12L Beta 3: la última beta, ya en el Pixel 6

9 de febrero de 2022. La última beta de 12L llegó por primera vez a los Pixel 6 y 6 Pro, con el parche de febrero y arreglos para At a glance, el apagado y la pantalla dividida.

Leer por separado: 12L Beta 3: la última beta, ya en el Pixel 6

La Beta 3 salió el 9 de febrero de 2022 y fue la última beta de 12L. Fue la primera build de 12L para los Pixel 6 y 6 Pro. Igual que la Beta 2, no tiene post en el blog; la fecha y la build vienen de las notas de versión de 12L de Google.

Fecha9 de febrero de 2022
BuildS2B3.220205.007.A1
Parche de seguridadFebrero de 2022
DispositivosSeries Pixel 3a, 4, 4a, 5, 5a y 6; Android Emulator; GSI

Google listó tres correcciones: el clima no aparecía en el widget At a glance, la animación de apagado de pantalla no siempre se mostraba, y el launcher se cerraba al entrar en pantalla dividida con “Pin to Top”.

Los Pixel 6 que instalaron la actualización de febrero más reciente, SQ1D.220205.004, no podían instalar la Beta 3. 9to5Google citó a Google diciendo que esos teléfonos recibirían “the next upcoming beta build release in March”. Las notas de versión de Google no listan una build de marzo, así que esta nota no la cuenta como hito. La versión final llegó el 7 de marzo de 2022.

Clasificado en

Citas

40

Referencias externas