Te damos la bienvenida a Now in Android, tu guía continua sobre las novedades y los aspectos destacados del mundo del desarrollo de Android.
Sigue leyendo para obtener información sobre Android 16 QPR2 beta 1, la actualización de funciones de Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, Shape Morphing y Autofill in Compose, y mucho más.
Puedes mirar un resumen en video:
También tenemos un podcast.
Sin embargo, esta publicación tiene la información más detallada, así que sigue leyendo.
Ya está disponible la versión beta 1 de Android 16 QPR2 ✨
Ya está disponible la primera versión beta de Android 16 QPR2, el lanzamiento inaugural de Android con una versión secundaria del SDK de Android. Las versiones secundarias del SDK pueden incluir nuevas APIs que extiendan las funciones de la plataforma, pero no pueden introducir cambios de comportamiento targetSdkVersion controlados, lo que minimiza la cantidad de pruebas que debes realizar en tus apps para garantizar su compatibilidad.
Puedes llamar a las APIs nuevas verificando SDK_INT_FULL en la enumeración VERSION_CODES_FULL:
if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) { // Call new APIs from the Android 16 QPR2 release }
VERSION_CODES_FULL no se puede usar en los atributos del manifiesto de uses-sdk.
Estas son algunas actualizaciones clave de la versión beta 1 de QPR2.
IU, experiencia del sistema y accesibilidad:
- Una opción de tema oscuro expandido invierte de forma inteligente las apps con tema claro para los usuarios que prefieren una apariencia oscura.
- El sistema puede generar íconos de apps con tema automático si tu app no proporciona una capa monocromática.
- Las sesiones interactivas del selector mantienen activa la IU de tu app mientras la hoja para compartir está abierta, mediante
ChooserManageryChooserSession. - Una nueva API de Data Transfer permite una migración de datos más confiable y segura entre Android y iOS, lo que requiere actualizaciones en el XML de las reglas de extracción de datos de tu app y la implementación de
BackupAgent. - El paquete
android.graphics.pdfse expandió para admitir la anotación y edición de documentos PDF a través dePdfRenderer.Page. - Los valores de
ViewConfigurationahora se adaptan a los dispositivos virtuales individuales. Migra aViewConfiguration.get(context)para situaciones de múltiples pantallas. - Obtienes un control más detallado de la respuesta háptica si especificas
VibrationAttributesconView.performHapticFeedback(HapticFeedbackRequest). - Ahora, las tarjetas de Configuración rápida se pueden asignar a categorías predefinidas en el archivo
AndroidManifest.xml.
Contenido multimedia y audio:
- Decodificación de software para el modelo y los formatos de audio envolvente (IAMF), un formato de audio espacial abierto.
- El Uso compartido de audio personal para dispositivos Bluetooth LE Audio está integrado directamente en el Selector de salida del sistema.
- Los usuarios pueden controlar el brillo del HDR con un control deslizante de brillo HDR/SDR.
- Los elementos adicionales del Selector de fotos pueden destacar álbumes o búsquedas específicos.
Conectividad:
- Las mejoras en Companion Device Management (CDM) te permiten proporcionar íconos de dispositivos personalizados, escuchar la devolución de llamada
EVENT_ASSOCIATION_REMOVEDy habilitar la verificación entre apps con DeviceId. - Las actualizaciones de Bluetooth incluyen compatibilidad con la búsqueda pasiva para
BluetoothLeScanner(ScanSettings.SCAN_TYPE_PASSIVE), motivos de pérdida de vinculación (BluetoothDevice.EXTRA_BOND_LOSS_REASON) y recuperación directa de UUID de servicio (BluetoothDevice.EXTRA_UUID_LE). - Las actualizaciones de rango de RTT de Wi-Fi (
RttStationRangingParams) admiten el rango en relación con las estaciones. - Hay un nuevo
PhoneNumberManagerdisponible para analizar y validar números de teléfono de encabezados P-Associated-URI de IMS. - Las mejoras en la privacidad de la red de MediaRouter permiten la transmisión en nuevos medios, como Bluetooth y UWB. Debes usar el selector de salida del sistema o solicitar permisos de
NEARBY_DEVICESpara los selectores personalizados integrados en la app.
Privacidad y seguridad:
- Se agregó un nuevo estado de seguridad a nivel del sistema, Secure Lock Device, que bloquea los dispositivos y requiere autenticación principal para desbloquearlos.
- Se agregó un botón de activación visible para el usuario en la Protección ante robo del teléfono para habilitar o inhabilitar el “Bloqueo por autenticación fallida”.
Productividad de los desarrolladores:
- Las nuevas APIs de
AppWidgetManagerte permiten consultar las métricas de participación en los widgets. - Las apps depurables instaladas a través de ADB ahora recibirán advertencias anticipadas sobre la compatibilidad con el tamaño de página de 16 KB.
ProfilingManageragrega compatibilidad con nuevos activadores de generación de perfiles iniciados por el sistema yrequestRunningSystemTracepara capturar registros en segundo plano.- El botón de activación “Verbose print logging” en Opciones para desarrolladores proporciona información de depuración adicional para el marco de trabajo de impresión de Android.
- Se habilitaron pruebas más sólidas para las experiencias de escritorio y de varias pantallas con las nuevas APIs de
UiAutomationpara capturas de pantalla en pantallas no predeterminadas yAccessibilityWindowInfo.refreshpúblicas. - Se agregó compatibilidad con la API para la nueva biblioteca
androidx.core:core-backported-fixes. - Ahora, las apps de GUI son compatibles con la terminal de Linux
WindowInspector.addGlobalWindowViewsListeneradmite notificaciones en tiempo real de cambios en la vista raíz.
Puedes inscribir cualquier dispositivo Pixel compatible para recibir actualizaciones de la versión beta de forma inalámbrica o usar imágenes del sistema de 64 bits con el emulador de Android en Android Studio. La estabilidad de la plataforma está prevista para octubre de 2025.
La actualización de funciones de Android Studio Narwhal es estable: comienza a usar el modo de agente 🐳
La actualización de funciones de Android Studio Narwhal ya es estable. Entre las nuevas funciones y mejoras, se incluyen las siguientes:
- Gemini en Android Studio: modo Agente está disponible para tareas de programación de varias etapas
- Las reglas de la Biblioteca de instrucciones personalizan el resultado de la IA de Gemini según las necesidades de tu proyecto.
- Transform UI with Gemini usa la IU de lenguaje natural para iterar en la IU de Compose.
- Compatibilidad con el desarrollo inmersivo con el emulador de Android XR integrado, una nueva plantilla de XR y el inspector de diseño integrado para XR
- Acceso expandido a dispositivos a través de Android Partner Device Labs en la transmisión de dispositivos Android
- Mejores vistas previas de Compose con navegación de código mejorada y el nuevo selector de vistas previas de Compose
- El compilador de Kotlin K2 está habilitado de forma predeterminada para un rendimiento de compilación más rápido.
- Herramientas de tamaño de página de 16 KB con advertencias de lint, análisis y un emulador para ayudarte a preparar tu app para los próximos dispositivos con tamaño de página de 16 KB.
Transmisión de dispositivos Android con tecnología de Firebase
Android Device Streaming, con tecnología de Firebase, introdujo la compatibilidad estable con los labs de dispositivos de socios de Android, lo que te permite conectarte de forma remota a dispositivos Android físicos alojados por socios OEM, incluidos Samsung, Xiaomi, OPPO, OnePlus y vivo.
Aceleramos el desarrollo con versiones mensuales de Android Studio: lanzamos el doble de versiones que antes
Android Studio está haciendo la transición a una cadencia de versiones estables mensuales para acelerar la incorporación de funciones nuevas y correcciones de errores críticos. Si bien el IDE de Android Studio se actualizará mensualmente, las nuevas versiones de la plataforma de IntelliJ se lanzarán cada pocos meses, y las Actualizaciones de funciones completarán las versiones estables intermedias. El emulador de Android y el complemento de Android para Gradle seguirán actualizándose por separado cada dos meses. Este cronograma de lanzamientos acelerado se respalda en inversiones a largo plazo en la infraestructura de pruebas.
Novedades de la versión de agosto de 2025 de Jetpack Compose 🚀
La versión de agosto de 2025 de Jetpack Compose (versión 1.9) ya es estable. En esta versión, se presentan Modifier.dropShadow y Modifier.innerShadow para renderizar efectos de sombra de caja. Los nuevos modificadores onVisibilityChanged y onFirstVisible te permiten hacer un seguimiento de la visibilidad de los elementos para las actualizaciones de la IU o el registro de impresiones. Puedes aplicar un formato enriquecido dentro de OutputTransformation con TextFieldBuffer.addStyle para las transformaciones de texto.
Los bloques de compilación de LazyLayout ahora son estables y puedes definir un LazyLayoutCacheWindow para mejorar el rendimiento de Lazy List y Grid con una recuperación previa mejorada. Scrollable2D habilita el desplazamiento bidimensional, incluido el desplazamiento rápido y el desplazamiento anidado, con varias mejoras para la interoperabilidad de desplazamiento y desplazamiento anidado con Views. Una API de aceptación (Composer.setDiagnosticStackTraceEnabled) proporciona detalles más completos sobre la ubicación de la falla en los seguimientos de pila, que se recomienda solo para las compilaciones de depuración. Las nuevas anotaciones @RememberInComposition y @FrequentlyChangingValue, junto con las comprobaciones de Lint asociadas, están disponibles en una nueva biblioteca de anotaciones de tiempo de ejecución. Los menús contextuales se pueden personalizar con Modifier.appendTextContextMenuComponents y Modifier.filterTextContextMenuComponents. Ahora se requiere la versión 8.8.2 o una posterior del complemento de Android para Gradle (AGP) o de Lint.
Media3 1.8.0: ¿Cuáles son las novedades? 🚀
Ya está disponible Media3 1.8.0, que incluye varias funciones y mejoras nuevas. ExoPlayer obtiene un modo de desplazamiento para las búsquedas frecuentes controladas por el usuario, que puedes habilitar a través de ExoPlayer.setScrubbingModeEnabled. HlsInterstitialsAdsLoader ahora admite transmisiones en vivo para la inserción de anuncios guiada por el servidor.
Se actualizó MetadataRetriever para permitirte recuperar las duraciones de los elementos multimedia sin reproducción. En el caso de Transformer, la versión incluye operaciones de recorte más rápidas con listas de edición MP4 a través de experimentalSetMp4EditListTrimEnabled y optimizaciones del codificador específicas del chipset a través de CodecDbLite, que se habilitan llamando a setEnableCodecDbLite en DefaultEncoderFactory.Builder.
Las actualizaciones adicionales incluyen la compatibilidad con descargas parciales en Downloader con PreCacheHelper, el enrutamiento automático de audio XR en ExoPlayer y las interacciones más eficientes de MediaCodec. De forma predeterminada, el módulo MediaSession ahora mantiene las notificaciones visibles durante más tiempo, y la app de demostración de la sesión de medios muestra la funcionalidad de reanudación de la reproducción. Una nueva app de demostración de Composition, compilada con Kotlin y Compose, muestra la edición avanzada de videos con varios recursos.
Artículos 📚
#WeArePlay: Conoce a las personas que programan un mundo más sustentable
La iniciativa #WeArePlay destaca las apps y los juegos para Android que abordan los desafíos ambientales. El juego BoRa, Parque Nacional Iguazú, desarrollado por Mayla, Flávia, Andréia y Ariane, ofrece experiencias interactivas gamificadas y accesibles para la educación sobre la naturaleza durante las visitas al parque. La app de Louis y Justin, CyberTracker, permite que los rastreadores indígenas analfabetos registren datos de biodiversidad a través de una interfaz basada en íconos, lo que respalda los esfuerzos de conservación. Por último, Earth5R, cofundada por Bharati y Saurabh, ofrece educación ambiental y conecta a los usuarios con pasantías y proyectos para desarrollar habilidades para la economía verde.
¿Qué es HDR? 🌟
El alto rango dinámico (HDR) permite aumentar el brillo máximo más allá del rango dinámico estándar (SDR) para los desarrolladores de Android, lo que ofrece una mayor fidelidad visual. Android admite HDR para videos e imágenes, incluidas tecnologías como UltraHDR para la retrocompatibilidad.
Comprender el color implica tres componentes:
- Profundidad de bits: Define la precisión de la representación del color. Una mayor profundidad ofrece transiciones más suaves.
- Función de transferencia: Asigna valores de píxeles numéricos a la luminancia o el color que se muestran, y se ajusta a la respuesta visual humana no lineal. Algunos ejemplos son sRGB, HLG y PQ.
- Gama de colores: Representa el rango de colores que puede reproducir un dispositivo.
Conceptos erróneos comunes sobre el HDR:
- Colores vibrantes: Las gamas de colores más amplias, como Display P3 y Adobe RGB, estaban disponibles antes del HDR, y la mayoría de las pantallas aún se recortan a P3, incluso con contenido BT.2020.
- Más contraste y mejor detalle de negros: El HDR no ofrece inherentemente negros más oscuros que el SDR en la misma pantalla. Las pantallas OLED proporcionan un contraste infinito para ambos. Si bien PQ asigna más bits a las regiones oscuras, no es una función HDR universal.
- Mayor profundidad de bits: Si bien algunos perfiles de video HDR (p. ej., HDR10) usan transmisiones de 10 o 12 bits, esto es específico de esos perfiles y no inherente al HDR en sí. Las profundidades de bits más altas también son comunes en otros formatos de imágenes.
El HDR significa principalmente mayor brillo máximo. Este “espacio libre de HDR” se define como una región flotante en relación con el SDR. Si bien los videos HDR tradicionales suelen codificar un espacio libre fijo, las pantallas modernas usan un espacio libre dinámico, lo que puede generar diferencias en la calidad. Las tecnologías como Ultra HDR y los mapas de ganancia ofrecen alternativas con un uso eficiente de los bits. El kit de herramientas de IU de Android utiliza la API de extendedRangeBrightness para ofrecer experiencias HDR, incluso con RGBA_8888.
Videos 📹
Elementos compartidos avanzados con transformación de formas | Sugerencias de Jetpack Compose
Jetpack Compose ahora permite transiciones avanzadas de elementos compartidos, transformaciones de formas sofisticadas y animaciones de revelación. Los desarrolladores pueden configurar SharedTransitionLayout en el nivel superior de la app y usar Modifier.sharedBounds para vincular elementos.
La transformación de formas es una nueva función clave que se logró aprovechando la biblioteca de formas de gráficos de AndroidX de Material 3. Esto implica crear un objeto Morph con formas de inicio y finalización definidas, controlar su progreso con animateFloat (desde AnimatedVisibilityScope) y aplicarlo como un clip a través de un OverlayClip personalizado. Los efectos de revelación usan skipToLookaheadSize y skipToLookaheadPosition. Todas estas animaciones avanzadas también son compatibles con los gestos de atrás predictivo.
Gemini multimodal en Android Studio: desarrollo de IU potenciado por IA
La IA de Gemini en Android Studio ayuda en el desarrollo de la IU generando código a partir de diseños (incluido el de imagen a código), creando vistas previas de Compose con datos sintéticos y perfeccionando la IU existente a través de comandos directos.
Cómo consumir un SDK habilitado para el entorno de ejecución
Android 14 presenta el entorno de ejecución de SDK, una nueva tecnología que aísla los SDKs de terceros en una zona de pruebas de procesos segura y separada para mejorar la privacidad y la seguridad.
Para desarrolladores:
- Los SDKs habilitados para el entorno de ejecución (RE) se ejecutan en este proceso separado.
- Los SDKs compatibles con el entorno de ejecución (RA) actúan como intermediarios dentro de tu app.
- Carga los SDKs de RE con
SdkSandboxManagerCompaty observa las restricciones (p.ej., en primer plano, carga única). - Las herramientas de shim simplifican la comunicación entre procesos de bajo nivel.
- Renderiza la IU desde los SDKs de RE con
SandboxedSdkViewySandboxedUiAdapter. - Inicia actividades desde el entorno de ejecución de SDK con
SdkActivityLauncher.
Transformación de formas de Material 3 en Wear OS | Sugerencias de Jetpack Compose
Material 3 de Wear OS para Compose ahora simplifica la transformación de formas. Los desarrolladores pueden agregar fácilmente cambios de forma animados a los botones redondos con IconButtonDefaults.animatedShapes, crear grupos de botones que animen los cambios de ancho con el componente ButtonGroup y Modifier.animateWidth(), y compilar listas de desplazamiento vertical (TransformingLazyColumn) en las que los elementos se escalan y transforman con TransformationSpec a medida que se acercan a los bordes de la pantalla.
Versiones de AndroidX 🚀
A continuación, se incluye un resumen de los cambios de AndroidX, priorizando los más relevantes para los desarrolladores de apps para Android:
Cambio general que afecta a las bibliotecas de Compose:
- Predeterminado
minSdkSe elevó a la API 23: Paraandroidx.composeanimation,foundation,material,runtimeyui, la versión predeterminada del SDK mínimo se trasladó de la API 21 a la API 23. Esto significa que, si usas las versiones alfa más recientes de estas bibliotecas de Compose, tu app requerirá implícitamente Android 6.0 (Marshmallow) o una versión posterior.
Cambios clave para los desarrolladores de Compose:
- Nueva API de retención (entorno de ejecución de Compose): Se presenta una API de retención similar a
rememberSaveable, pero para valores que abandonan la jerarquía de composición sin serializarse. Tiene una vida útil más corta que los valores guardados y se comporta de manera similar a unViewModel, lo que proporciona una nueva forma de administrar el estado de los elementos componibles que pueden entrar y salir de la composición. - Transiciones de elementos compartidos mejoradas (animación y diseño de Compose): Nuevas APIs para habilitar o inhabilitar elementos compartidos de forma dinámica, tener en cuenta las transiciones en curso y establecer límites de destino alternativos cuando se descarta un elemento compartido. También hay un nuevo
Modifier.skipToLookaheadPositiondisponible para diseños de anclaje. - Mejora de la recuperación previa de Pager (Compose Foundation): La estrategia de recuperación previa de Pager ahora usa una “ventana de caché” (1 tamaño de viewport) en lugar de un solo elemento, y la recuperación previa inicial está habilitada de forma predeterminada. Los elementos también se conservan durante más tiempo para que el desplazamiento sea más fluido.
- Control de enfoque perfeccionado para mouse o panel táctil (Compose Foundation y UI): Ahora,
ComposeViewsborrará automáticamente el enfoque cuando se produzca un evento de puntero hacia abajo (desde el mouse o el panel táctil) fuera del nodo enfocado. Puedes inhabilitar esta opción. - Rectángulos de enfoque personalizables (Compose Foundation):
FocusPropertiesahora te permite definir un área de enfoque personalizada en lugar de usar el cuadro delimitador de forma predeterminada, lo que mejora el recorrido del enfoque y la lógica de “mantener a la vista” en los contenedores desplazables. - Elemento componible LifecycleOwner (Lifecycle): Un nuevo elemento componible permite crear instancias de
LifecycleOwnercon alcance directamente dentro del árbol de la IU. Esto es particularmente útil para administrar los ciclos de vida de los componentes de forma independiente y para bibliotecas como Navigation. - Compatibilidad con tipos anulables en
SavedStateHandle(LifecycleySavedState): Se simplificó el guardado y la restauración de propiedades anulables con compatibilidad nativa enSavedStateHandleySavedStateRegistryOwner. - Nuevo
LineHeightStyle.Mode.Tight(Compose Foundation & UI): Un nuevo modo Tight ayuda a aplicar alturas de línea más pequeñas, incluso si eso significa cortar glifos más altos, lo que ofrece un control más preciso del diseño del texto. - Presionar dos veces para seleccionar una palabra (Compose Foundation): Se agregó compatibilidad para presionar dos veces y seleccionar palabras en
SelectionContaineryBasicTextField. - Cambios en el comportamiento de WindowInsets (Compose UI y Foundation):
◦ Se agregó una nueva API deWindowInsets.cutoutPathpara obtener la ruta de corte de pantalla.
◦ Se quitó la marcaisWindowInsetsDefaultPassThroughEnabled, por lo queWindowInsetsno se consume de forma predeterminada, lo que permite que los objetos View secundarios los reciban. AndroidViewrequestRectangleOnScreenCorrección (Compose Foundation): Las solicitudes realizadas por AndroidViews (p.ej.,EditTextque intenta permanecer en la pantalla) ahora se propagan correctamente a Compose.- Mejoras en el desplazamiento con la rueda del mouse en 2D (Compose Foundation y UI): Se mejoró la compatibilidad con los eventos de desplazamiento con la rueda del mouse en 2D, con nuevas APIs de prueba y una marca para controlar el comportamiento.
Nuevas bibliotecas y utilidades:
androidx.core:core-backported-fixes(Biblioteca nueva): Esta nueva biblioteca permite a los desarrolladores verificar si se aplicaron correcciones de errores críticos (p.ej., problemas a nivel de la plataforma, como errores específicos de la cámara) a un dispositivo. Esto permite ofrecer diferentes experiencias del usuario según si se resolvió un error conocido o no.
Otros cambios importantes:
- Actividad y entrada de juegos: Se agregó compatibilidad predeterminada con tamaños de página de 16 KB y compatibilidad con mouse para
GameActivity. - Posicionamiento de Tooltip de Material3: Se agregaron más proveedores de posición para las Tooltips, lo que permite colocarlas arriba, abajo, a la izquierda o a la derecha del elemento de anclaje.
- Material3
DatePickerCorrecciones: Se asegura de que DatePicker respete su propia configuración regional para el formato de números y se corrigen los problemas de visualización de derecha a izquierda. - Compatibilidad con display_override de AWP (navegador): Se agregó compatibilidad con la propiedad
display_overridedel manifiesto de AWP, lo que proporciona más control sobre la visualización de la AWP. - Launch Initial URL in External App (Browser): Se agregó un intent para permitir el lanzamiento de la URL inicial de una APW en un navegador externo.
Android Developers Backstage
Android Developers Backstage vuelve con otro episodio.
Autocompletar en Compose
Jetpack Compose 1.8 presenta capacidades de autocompletado significativamente mejoradas, que aprovechan el sistema semántico de Compose. Ahora los desarrolladores pueden integrar fácilmente la función de Autocompletar a nivel del sistema con solo etiquetar los campos de texto con la semántica del tipo de contenido pertinente (p.ej., nombre de usuario, contraseña), lo que elimina la necesidad de administrar manualmente el árbol de Autocompletar y mejora el rendimiento.
Bueno… 👋
Eso es todo por esta edición, con cobertura de Android 16 QPR2 beta 1, la actualización de funciones de Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, Shape Morphing y Autofill in Compose, y mucho más.
Vuelve a consultar pronto para ver la próxima actualización del universo de desarrolladores de Android.
Seguir leyendo
-
Comunidad
Recientemente, Android anunció la verificación para desarrolladores, una capa de seguridad adicional que disuade a los agentes maliciosos y dificulta que propaguen daños.
Matthew Forsythe • Lectura de 2 min
-
Comunidad
¡Terminó la espera! Nos complace anunciar la promoción 2026 de Google Play Apps Accelerator.
Robbie McLachlan • Lectura de 1 min
-
Comunidad
En nuestro más reciente video de #WeArePlay, conocemos a Adriano, Wagner y Grazyelle. El trío está detrás de Matraquinha, una app que ayuda a comunicarse a miles de niños no verbales en más de 80 países.
Robbie McLachlan • Lectura de 2 min
Mantente al día
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.