Hoy lanzamos la primera versión beta de Android 17, con la que continuamos nuestro trabajo para crear una plataforma que priorice la privacidad, la seguridad y el rendimiento optimizado. Esta compilación continúa nuestro trabajo para lograr apps para Android más adaptables, presenta mejoras significativas en las capacidades de la cámara y los medios, nuevas herramientas para optimizar la conectividad y perfiles expandidos para dispositivos complementarios. En esta versión, también se destaca un cambio fundamental en la forma en que lanzamos nuevas versiones para la comunidad de desarrolladores, desde el modelo tradicional de la versión preliminar para desarrolladores hasta el programa Android Canary.
Más allá de la versión preliminar para desarrolladores
Android reemplazó la tradicional "versión preliminar para desarrolladores" por un canal Canary continuo. Este nuevo modelo "siempre activo" ofrece tres beneficios principales:
- Acceso más rápido: Las funciones y las APIs llegan a Canary en cuanto superan las pruebas internas, en lugar de esperar un lanzamiento trimestral.
- Mejor estabilidad: Las pruebas iniciales en Canary generan una experiencia beta más pulida con nuevas APIs y cambios de comportamiento que están más cerca de ser definitivos.
- Pruebas más sencillas: Canary admite actualizaciones OTA (ya no es necesario realizar la escritura manual en la memoria flash) y, como canal de actualización independiente, se integra más fácilmente con los flujos de trabajo de CI y te brinda la primera oportunidad para proporcionar comentarios inmediatos sobre los posibles cambios futuros.
Programa de Android 17
Pasaremos rápidamente de esta versión beta a nuestro hito de Estabilidad de la plataforma, previsto para marzo. En este hito, proporcionaremos las APIs finales del SDK y el NDK, y los comportamientos finales de la app en gran medida. A partir de ese momento, tendrás varios meses antes del lanzamiento final para completar las pruebas.
Un año de lanzamientos
Tenemos previsto que Android 17 siga recibiendo actualizaciones en una serie de lanzamientos trimestrales. La próxima versión del segundo trimestre es la única en la que se introducirán cambios de comportamiento planificados que interrumpirán el funcionamiento de las apps. Tenemos previsto lanzar una versión secundaria del SDK en el cuarto trimestre con APIs y funciones adicionales.
Restricciones de orientación y cambio de tamaño
Con el lanzamiento de la versión beta de Android 17, pasamos a la siguiente fase de nuestra hoja de ruta adaptable: Android 17 (nivel de API 37) quita la opción de inhabilitación para desarrolladores de las restricciones de orientación y capacidad de cambio de tamaño en dispositivos con pantalla grande (ancho mínimo > 600 dp).
Cuando tu app se oriente al SDK 37, debe estar lista para adaptarse. Los usuarios esperan que sus apps funcionen en cualquier lugar, ya sea que realicen varias tareas en una tablet, desplieguen un dispositivo o usen un entorno de ventanas de escritorio, y esperan que la IU llene el espacio y respete la postura del dispositivo.
Cambios clave para el SDK 37
Las apps que se segmentan para Android 17 deben garantizar la compatibilidad con la eliminación gradual de los atributos del manifiesto y las APIs de tiempo de ejecución que se introdujeron en Android 16. Cuando se ejecuta en una pantalla grande (dimensión más pequeña ≥ 600 dp), se ignorarán los siguientes atributos y APIs:
| Atributos/API del manifiesto | Valores ignorados |
| screenOrientation | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| setRequestedOrientation() | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| resizeableActivity | todos |
| minAspectRatio | todos |
| maxAspectRatio | todos |
Exenciones y control del usuario
Estos cambios son específicos para pantallas grandes y no se aplican a pantallas más pequeñas que sw600dp (incluidos los teléfonos tradicionales con factor de forma de pizarra). Además, las apps categorizadas como juegos (según la marca android:appCategory) están exentas de estas restricciones.
También es importante tener en cuenta que los usuarios siguen teniendo el control. Pueden habilitar o inhabilitar explícitamente el uso del comportamiento predeterminado de una app a través de la configuración de relación de aspecto del sistema.
Actualizaciones de los cambios de configuración
Para mejorar la compatibilidad de las apps y ayudar a minimizar las interrupciones en la reproducción de video, las pérdidas de entrada y otros tipos de pérdida de estado disruptiva, actualizaremos el comportamiento predeterminado para la recreación de actividades. A partir de Android 17, el sistema ya no reiniciará las actividades de forma predeterminada para cambios de configuración específicos que, por lo general, no requieren una recreación de la IU, incluidos CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_UI_MODE (cuando solo se cambia UI_MODE_TYPE_DESK), CONFIG_TOUCHSCREEN y CONFIG_COLOR_MODE. En cambio, las actividades en ejecución simplemente recibirán estas actualizaciones a través de onConfigurationChanged. Si tu aplicación depende de un reinicio completo para volver a cargar los recursos de estos cambios, ahora debes habilitar explícitamente la opción con el nuevo atributo de manifiesto android:recreateOnConfigChanges, que te permite especificar qué cambios de configuración deben activar un ciclo de vida completo de la actividad (desde la detención hasta la destrucción y la creación nuevamente), junto con las constantes relacionadas mcc, mnc y las nuevas keyboard, keyboardHidden, navigation, touchscreen y colorMode.
Prepara tu app
Lanzamos herramientas y documentación para que te resulte más fácil. Nuestra entrada de blog específica tiene más orientación, con estrategias para abordar problemas comunes. Las apps deberán admitir diseños horizontales y verticales para los tamaños de ventana en todo el rango de relaciones de aspecto, ya que restringir la orientación o la relación de aspecto ya no será una opción. Te recomendamos que pruebes tu app con la versión beta 1 de Android 17 con emuladores de Pixel Tablet o Pixel Fold (configurados en targetSdkPreview = "CinnamonBun") o con el marco de compatibilidad de apps para habilitar UNIVERSAL_RESIZABLE_BY_DEFAULT en dispositivos Android 16.
Rendimiento
MessageQueue sin bloqueos
En Android 17, las apps segmentadas para el SDK 37 o versiones posteriores recibirán una nueva implementación de android.os.MessageQueue en la que la implementación no tiene bloqueos. La nueva implementación mejora el rendimiento y reduce los fotogramas perdidos, pero puede dañar los clientes que reflejan los campos y métodos privados de MessageQueue.
Recolección generacional de elementos no utilizados
Android 17 introduce la recolección generacional de elementos no utilizados en el recolector de marca y compactación simultáneas de ART. Esta optimización introduce recolecciones de generación joven más frecuentes y menos intensivas en recursos junto con las recolecciones de montón completo, con el objetivo de reducir el costo general de la CPU de la recolección de elementos no utilizados y la duración del tiempo. Las mejoras de ART también están disponibles para más de mil millones de dispositivos que ejecutan Android 12 (nivel de API 31) y versiones posteriores a través de las actualizaciones del sistema de Google Play.
Los campos finales estáticos ahora son verdaderamente finales
A partir de Android 17, las apps que se segmenten para Android 17 o versiones posteriores no podrán modificar los campos “static final”, lo que permitirá que el tiempo de ejecución aplique optimizaciones de rendimiento de forma más agresiva. Si se intenta hacer esto a través de la reflexión (y la reflexión profunda), siempre se arrojará IllegalAccessException. Si los modificas con la familia de métodos SetStatic<Type>Field de JNI, la aplicación fallará de inmediato.
Restricciones de visualización de notificaciones personalizadas
Para reducir el uso de memoria, restringimos el tamaño de las vistas de notificaciones personalizadas. Esta actualización cierra una brecha que permite que las apps omitan los límites existentes con URIs. Este comportamiento está controlado por la versión del SDK de destino y se aplica a las apps segmentadas para la API 37 y versiones posteriores.
Nuevos activadores de ProfilingManager para la depuración del rendimiento
Presentamos varios activadores del sistema nuevos en ProfilingManager para ayudarte a recopilar datos detallados y depurar problemas de rendimiento. Estos activadores son TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM y TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE.
Para comprender cómo configurar los nuevos activadores del sistema, consulta la documentación sobre la generación de perfiles basada en activadores y la recuperación y el análisis de datos de generación de perfiles.
Cámara y contenido multimedia
Android 17 incorpora herramientas de nivel profesional a las apps de cámara y multimedia, con funciones como transiciones fluidas y volumen estandarizado.
Actualizaciones dinámicas de la sesión de la cámara
Presentamos updateOutputConfigurations() en CameraCaptureSession. Esto te permite conectar y desconectar dinámicamente superficies de salida sin necesidad de reconfigurar toda la sesión de captura de la cámara. Este cambio permite transiciones fluidas entre los casos de uso y los modos de la cámara (como tomar imágenes fijas en comparación con grabar videos) sin el costo de memoria ni la complejidad del código de configurar y mantener todas las superficies de salida de la cámara que tu app podría necesitar durante el inicio de la cámara. Esto ayuda a eliminar fallas o bloqueos visibles para el usuario durante el funcionamiento.
fun updateCameraSession(session: CameraCaptureSession, newOutputConfigs: List<OutputConfiguration>)) {
// Dynamically update the session without closing and reopening
try {
// Update the output configurations
session.updateOutputConfigurations(newOutputConfigs)
} catch (e: CameraAccessException) {
// Handle error
}
}Metadatos lógicos de dispositivos multicámara
Cuando trabajas con cámaras lógicas que combinan varios sensores de cámaras físicas, ahora puedes solicitar metadatos adicionales de todas las cámaras físicas activas involucradas en una captura, no solo de la principal. Anteriormente, debías implementar soluciones alternativas, a veces asignando transmisiones físicas innecesarias, para obtener metadatos de cámaras secundarias activas (p.ej., durante un cambio de lente para el zoom en el que una cámara de seguimiento está activa). Esta función introduce una nueva clave, LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS, en CaptureRequest y CaptureResult. Si configuras esta clave como ON en tu CaptureRequest, el TotalCaptureResult incluirá metadatos de estas cámaras físicas activas adicionales. Puedes acceder a estos metadatos integrales con TotalCaptureResult.getPhysicalCameraTotalResults() para obtener información más detallada que te permita optimizar el uso de recursos en tus aplicaciones de cámara.
Compatibilidad con Versatile Video Coding (VVC)
Android 17 agrega compatibilidad con el estándar de Versatile Video Coding (VVC). Esto incluye definir el tipo de MIME video/vvc en MediaFormat, agregar nuevos perfiles de VVC en MediaCodecInfo y, luego, integrar la compatibilidad en MediaExtractor. Esta función estará disponible en dispositivos con compatibilidad de decodificación por hardware y controladores compatibles.
Calidad constante para la grabación de video
Agregamos setVideoEncodingQuality() a MediaRecorder. Esto te permite configurar un modo de calidad constante (CQ) para los codificadores de video, lo que te brinda un control más preciso sobre la calidad del video más allá de los simples parámetros de configuración de la tasa de bits.
Endurecimiento del audio en segundo plano
A partir de Android 17, el framework de audio aplicará restricciones en las interacciones de audio en segundo plano, incluidas la reproducción de audio, las solicitudes de enfoque de audio y las APIs de cambio de volumen, para garantizar que el usuario inicie estos cambios de forma intencional.
Si la app intenta llamar a las APIs de audio mientras la aplicación no se encuentra en un ciclo de vida válido, las APIs de reproducción de audio y de cambio de volumen fallarán de forma silenciosa sin que se arroje una excepción ni se proporcione un mensaje de error. La API de enfoque de audio fallará con el código de resultado AUDIOFOCUS_REQUEST_FAILED.
Privacidad y seguridad
Baja del atributo de tráfico de texto simple
El atributo android:usesCleartextTraffic dejó de estar disponible. Si tu app se segmenta para Android 4.2 (nivel de API 17) o versiones posteriores y depende de usesCleartextTraffic="true" sin una configuración de seguridad de red correspondiente, se establecerá de forma predeterminada que no se permita el tráfico de texto no encriptado. Te recomendamos que migres a los archivos de configuración de seguridad de red para obtener un control detallado.
Criptografía híbrida de HPKE
Presentamos una interfaz de proveedor de servicios (SPI) pública para una implementación de criptografía híbrida HPKE, que permite la comunicación segura con una combinación de clave pública y encriptación simétrica (AEAD).
Conectividad y telecomunicaciones
Historial de llamadas VoIP mejorado
Presentamos la administración de preferencias del usuario para la integración del historial de llamadas VoIP de la app. Esto incluye la compatibilidad con los URI de avatares de participantes y llamantes en el marcador del sistema, lo que permite un control detallado del usuario sobre la privacidad del registro de llamadas y enriquece la visualización de los registros de llamadas VoIP integrados.
Wi-Fi Ranging and Proximity
Se mejoró la medición de Wi-Fi con nuevas capacidades de detección de proximidad, que admiten la medición continua y la detección segura de dispositivos punto a punto. Las actualizaciones del rango de Wi-Fi Aware incluyen nuevas APIs para identificadores de pares y almacenamiento en caché de PMKID para el rango seguro de 11az.
Productividad y herramientas para desarrolladores
Actualizaciones para las apps de dispositivos complementarios
Presentamos dos perfiles nuevos en CompanionDeviceManager para mejorar la distinción de dispositivos y el manejo de permisos:
- Dispositivos médicos: Este perfil permite que las aplicaciones para dispositivos móviles de dispositivos médicos soliciten todos los permisos necesarios con un solo toque, lo que simplifica el proceso de configuración.
- Monitores de actividad física: El perfil DEVICE_PROFILE_FITNESS_TRACKER permite que las apps complementarias indiquen de forma explícita que administran un monitor de actividad física. Esto garantiza experiencias del usuario precisas con íconos distintos y, al mismo tiempo, reutiliza los permisos existentes de roles de observación.
Además, CompanionDeviceManager ahora ofrece un diálogo unificado para la asociación de dispositivos y las solicitudes de permiso de Nearby. Puedes aprovechar el nuevo método setExtraPermissions en AssociationRequest.Builder para agrupar mensajes de permisos cercanos dentro del flujo de asociación existente, lo que reduce la cantidad de diálogos que se presentan al usuario.
Comienza a usar Android 17
Puedes inscribir cualquier dispositivo Pixel compatible para obtener esta y futuras actualizaciones de la versión beta de Android de forma inalámbrica. Si no tienes un dispositivo Pixel, puedes usar las imágenes del sistema de 64 bits con Android Emulator en Android Studio.
Si actualmente participas en el programa de versiones beta de Android, recibirás una actualización inalámbrica a la versión beta 1.
Si tienes la versión Beta de Android 26Q1 y quieres obtener la versión estable final de 26Q1 y salir de la versión Beta, debes ignorar la actualización inalámbrica a la versión Beta 1 de 26Q2 y esperar el lanzamiento de 26Q1.
Queremos conocer tus comentarios, así que informa los problemas y envía solicitudes de funciones en la página de comentarios. Cuanto antes recibamos tus comentarios, más podremos incluir en nuestro trabajo en la versión final.
Para obtener la mejor experiencia de desarrollo con Android 17, te recomendamos que uses la versión preliminar más reciente de Android Studio (Panda). Una vez que hayas configurado todo, haz lo siguiente:
- Compila con el nuevo SDK, realiza pruebas en entornos de CI y, luego, informa cualquier problema en nuestro sistema de seguimiento en la página de comentarios.
- Prueba la compatibilidad de tu app actual, descubre si se ve afectada por los cambios en Android 17, instálala en un dispositivo o emulador que ejecute Android 17 y pruébala exhaustivamente.
Actualizaremos las imágenes del sistema de versión preliminar o beta y el SDK de forma periódica durante el ciclo de lanzamiento de Android 17. Una vez que hayas instalado una compilación de la versión beta, recibirás automáticamente actualizaciones inalámbricas futuras para todas las versiones beta y de vista previa posteriores.
Para obtener información completa, visita el sitio para desarrolladores de Android 17.
Únete a la conversación
A medida que avanzamos hacia la Estabilidad de la plataforma y la versión estable final de Android 17 más adelante este año, tus comentarios siguen siendo nuestro recurso más valioso. Ya sea que seas un usuario pionero en el canal Canary o un desarrollador de apps que realiza pruebas en la versión beta 1, considera unirte a nuestras comunidades y enviar comentarios. Queremos saber tu opinión.
-
Novedades sobre productosEn Google I/O 2026, se realizaron 17 anuncios clave para los desarrolladores de Android, que se centran en la productividad impulsada por agentes, Compose First como nuestro estándar de IU y el desarrollo adaptable y de alto rendimiento para el ecosistema en expansión.
Matthew McCullough • Lectura de 8 min -
Novedades sobre productosHoy, durante The Android Show, se anunció que Android está pasando de ser un sistema operativo a un sistema inteligente, lo que crea más oportunidades de interacción con tus apps.
Matthew McCullough • Lectura de 4 min -
Novedades sobre productosHoy, mejoramos el desarrollo para Android con Gemma 4, nuestro modelo abierto de vanguardia más reciente, diseñado con capacidades complejas de razonamiento y de llamada a herramientas autónomas.
Matthew McCullough • Lectura de 2 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.