Novedades de productos

Primera versión beta de Android 17

Lectura de 7 minutos
Matthew McCullough
Vicepresidente de Gestión de Productos de Android Developer

Hoy lanzamos la primera versión beta de Android 17, con la que seguimos trabajando para crear una plataforma que priorice la privacidad, la seguridad y el rendimiento optimizado. Esta compilación continúa nuestro trabajo para crear aplicaciones Android más adaptables, introduce mejoras significativas en las funciones de cámara y multimedia, nuevas herramientas para optimizar la conectividad y perfiles ampliados para dispositivos complementarios. En esta versión también se destaca un cambio fundamental en la forma en que lanzamos nuevas versiones a la comunidad de desarrolladores: del modelo tradicional de versión preliminar para desarrolladores al programa Android Canary.

Más allá de la versión preliminar para desarrolladores

Android ha sustituido la tradicional "versión preliminar para desarrolladores" por un canal Canary continuo. Este nuevo modelo "siempre activo" ofrece tres ventajas principales:

  • Acceso más rápido: las funciones y las APIs se implementan en Canary en cuanto superan las pruebas internas, en lugar de esperar a una versión trimestral.
  • Mayor estabilidad: las pruebas iniciales en Canary dan como resultado una experiencia beta más pulida con nuevas APIs y cambios en el comportamiento que están más cerca de ser definitivos.
  • Pruebas más sencillas: Canary admite actualizaciones OTA (ya no es necesario flashear manualmente) y, al ser un canal de actualización independiente, se integra más fácilmente con los flujos de trabajo de integración continua y te ofrece la primera oportunidad de enviar comentarios inmediatos sobre los posibles cambios que se vayan a implementar.

Calendario de Android 17

Vamos a pasar rápidamente de esta versión beta a la fase de estabilidad de la plataforma, que tenemos previsto alcanzar en marzo. En esta fase, proporcionaremos las APIs finales del SDK y del NDK, así como los comportamientos finales de cara a las aplicaciones. Desde ese momento, tendrás varios meses antes del lanzamiento final para completar las pruebas.

timeline1.png

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 vamos a introducir cambios en el comportamiento de las aplicaciones que pueden provocar errores. Tenemos previsto lanzar una versión menor del SDK en el cuarto trimestre con APIs y funciones adicionales.

timeline2.png

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 adaptativa: Android 17 (nivel de API 37) elimina la opción de inhabilitación para desarrolladores de las restricciones de orientación y redimensionamiento en dispositivos de pantalla grande (sw > 600 dp).

Cuando tu aplicación esté orientada al SDK 37, deberá estar preparada para adaptarse. Los usuarios esperan que sus aplicaciones funcionen en cualquier lugar, ya sea mientras realizan varias tareas en una tablet, abren un dispositivo o usan un entorno de modo Ventanas de ordenador. Además, esperan que la interfaz de usuario ocupe el espacio y se adapte a la postura del dispositivo.

Principales cambios del SDK 37

Las aplicaciones orientadas a Android 17 deben garantizar la compatibilidad con la retirada de los atributos del manifiesto y las APIs de tiempo de ejecución introducidas en Android 16. Cuando se ejecute en una pantalla grande (dimensión más pequeña ≥ 600 dp), se ignorarán los siguientes atributos y APIs:

Atributos o APIs de manifiestoValores ignorados
screenOrientationvertical, vertical invertida, vertical con sensor, vertical con usuario, horizontal, horizontal invertida, horizontal con sensor y horizontal con usuario
setRequestedOrientation()vertical, vertical invertida, vertical con sensor, vertical con usuario, horizontal, horizontal invertida, horizontal con sensor y horizontal con usuario
resizeableActivitytodos
minAspectRatiotodos
maxAspectRatiotodos

Excepciones 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 formato de pizarra). Además, las aplicaciones clasificadas 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 comportamiento predeterminado de una aplicación a través de los ajustes de relación de aspecto del sistema.

Cambios en la configuración

Para mejorar la compatibilidad de las aplicaciones y minimizar las interrupciones en la reproducción de vídeo, la pérdida de datos y otros tipos de problemas, vamos a actualizar el comportamiento predeterminado de la recreación de actividades. A partir de Android 17, el sistema ya no reiniciará las actividades de forma predeterminada para determinados cambios de configuración que normalmente no requieren que se vuelva a crear la interfaz de usuario, como 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 su lugar, las actividades en curso 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 esta opción mediante el nuevo atributo de archivo de manifiesto android:recreateOnConfigChanges, que te permite especificar qué cambios de configuración deben activar un ciclo de vida de una actividad completo (desde la detención hasta la destrucción y la creación de nuevo), junto con las constantes relacionadas mcc, mnc y las nuevas keyboard, keyboardHidden, navigation, touchscreen y colorMode.

Prepara tu aplicación

Hemos publicado herramientas y documentación para que te resulte más fácil. En esta entrada de blog encontrarás más información, así como estrategias para solucionar problemas habituales. Las aplicaciones deberán admitir diseños horizontales y verticales para tamaños de ventana en toda la gama de relaciones de aspecto, ya que no se podrá restringir la orientación ni la relación de aspecto. Te recomendamos que pruebes tu aplicación con la versión beta 1 de Android 17 en emuladores de Pixel Tablet o Pixel Fold (configurados en targetSdkPreview = "CinnamonBun") o con el framework de compatibilidad de aplicaciones para habilitar UNIVERSAL_RESIZABLE_BY_DEFAULT en dispositivos Android 16.

Rendimiento

MessageQueue sin bloqueos

En Android 17, las aplicaciones orientadas al SDK 37 o a una versión posterior recibirán una nueva implementación de android.os.MessageQueue, donde la implementación no tiene bloqueos. La nueva implementación mejora el rendimiento y reduce los fotogramas perdidos, pero puede provocar errores en los clientes que reflejen los campos y métodos privados de MessageQueue.

Recolección de elementos no utilizados por generaciones

Android 17 introduce la recolección de elementos no utilizados generacional en el recopilador de marcas y compactación simultáneas de ART. Esta optimización introduce colecciones de generación joven más frecuentes y que requieren menos recursos junto con colecciones de montículo completo, con el objetivo de reducir el coste de CPU y la duración total de la recolección de elementos no utilizados. Las mejoras de ART también están disponibles en más de mil millones de dispositivos con Android 12 (nivel 31 de la API) y versiones posteriores a través de las actualizaciones del sistema de Google Play.

Los campos finales estáticos ahora son realmente finales

A partir de Android 17, las aplicaciones orientadas a 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 hacerlo mediante la reflexión (y la reflexión profunda), siempre se producirá una excepción IllegalAccessException. Si se modifican mediante la familia de métodos SetStatic<Type>Field de JNI, la aplicación fallará inmediatamente.

Restricciones de la vista de notificaciones personalizadas

Para reducir el uso de memoria, vamos a limitar el tamaño de las vistas de notificaciones personalizadas. Esta actualización cierra una brecha que permite a las aplicaciones eludir los límites actuales mediante URIs. Este comportamiento se rige por la versión del SDK de destino y se aplica a las aplicaciones orientadas a la API 37 y versiones posteriores.

Nuevos activadores de ProfilingManager para depurar el rendimiento

Hemos introducido varios activadores del sistema nuevos en ProfilingManager para ayudarte a recoger datos detallados y depurar problemas de rendimiento. Estos activadores son TRIGGER_TYPE_COLD_STARTTRIGGER_TYPE_OOMTRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE.

Para saber cómo configurar los nuevos activadores del sistema, consulta la documentación sobre creación de perfiles basada en activadores y recuperación y análisis de datos de perfil.

Multimedia y cámara

Android 17 ofrece herramientas de nivel profesional para aplicaciones multimedia y de cámara, con funciones como transiciones fluidas y volumen estandarizado.

Actualizaciones dinámicas de la sesión de la cámara

Hemos introducido updateOutputConfigurations() en CameraCaptureSession.Esto te permite adjuntar y separar superficies de salida de forma dinámica sin tener que volver a configurar toda la sesión de captura de la cámara. Este cambio permite que se produzcan transiciones fluidas entre los casos prácticos y los modos de la cámara (por ejemplo, hacer fotos o grabar vídeos) sin el coste de memoria ni la complejidad del código que supone configurar y mantener todas las superficies de salida de la cámara que tu aplicación podría necesitar durante el inicio de la cámara. De esta forma, se eliminan los fallos o bloqueos visibles para los usuarios 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 de dispositivos multicámara lógicos

Cuando trabajes con cámaras lógicas que combinen varios sensores de cámara físicos, ahora podrás solicitar metadatos adicionales de todas las cámaras físicas activas implicadas en una captura, no solo de la principal. Antes, tenías que implementar soluciones alternativas, a veces asignando flujos físicos innecesarios, para obtener metadatos de cámaras secundarias activas (por ejemplo, durante un cambio de objetivo para hacer zoom cuando una cámara de seguimiento está activa). Esta función introduce una nueva clave, LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS, en CaptureRequest y CaptureResult. Si activas esta clave en tu CaptureRequest, el TotalCaptureResult incluirá metadatos de estas cámaras físicas activas adicionales. Puedes acceder a estos metadatos completos mediante 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 añade compatibilidad con el estándar Versatile Video Coding (VVC). Esto incluye definir el tipo de MIME video/vvc en MediaFormat, añadir nuevos perfiles VVC en MediaCodecInfo e integrar la compatibilidad en MediaExtractor. Esta función estará disponible en dispositivos con controladores compatibles y con hardware de decodificación.

Calidad constante para la grabación de vídeo

Hemos añadido setVideoEncodingQuality() a MediaRecorder. De esta forma, puedes configurar un modo de calidad constante (CQ) para los codificadores de vídeo, lo que te permite controlar la calidad del vídeo de forma más precisa que con los ajustes de tasa de bits.

Protección reforzada del audio en segundo plano

A partir de Android 17, el framework de audio aplicará restricciones a las interacciones de audio en segundo plano, como la reproducción de audio, las solicitudes de enfoque de audio y las APIs de cambio de volumen, para asegurarse de que el usuario inicia estos cambios de forma intencionada. 

Si la aplicación intenta llamar a APIs de audio mientras 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 produzca 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

Discontinuación del atributo de tráfico en texto no cifrado

El atributo android:usesCleartextTraffic ya no está disponible. Si tu aplicación está orientada a Android 17 o versiones posteriores y usa usesCleartextTraffic="true" sin una configuración de seguridad de red correspondiente, se inhabilitará el tráfico de texto no cifrado de forma predeterminada. Te recomendamos que migres a los archivos de configuración de seguridad de red para tener un control granular.

Criptografía híbrida HPKE

Vamos a lanzar una interfaz de proveedor de servicios (SPI) pública para una implementación de la criptografía híbrida HPKE, que permite una comunicación segura mediante una combinación de cifrado simétrico y de clave pública (AEAD).

Conectividad y telecomunicaciones

Historial de llamadas VoIP mejorado

Vamos a introducir la gestión de preferencias de los usuarios para la integración del historial de llamadas VoIP de la aplicación. Esto incluye la compatibilidad con URIs de avatares de personas que llaman y participantes en el marcador del sistema, lo que permite a los usuarios controlar de forma granular la privacidad del registro de llamadas y mejorar la visualización de los registros de llamadas VoIP integrados.

Distancia y proximidad de la red Wi-Fi

Wi-Fi Ranging se ha mejorado con nuevas funciones de detección de proximidad, que admiten la medición continua y la detección segura entre iguales. Las actualizaciones de la distancia de Wi-Fi Aware incluyen nuevas APIs para controladores de peers y almacenamiento en caché de PMKID para la distancia segura 11az.

Productividad y herramientas para desarrolladores

Novedades en las aplicaciones de dispositivos complementarios

Hemos introducido dos nuevos perfiles en CompanionDeviceManager para mejorar la distinción de dispositivos y la gestión de permisos:

  • Dispositivos médicos: este perfil permite que las aplicaciones móviles de dispositivos médicos soliciten todos los permisos necesarios con un solo toque, lo que simplifica el proceso de configuración.
  • Pulseras de actividad física: el perfil DEVICE_PROFILE_FITNESS_TRACKER permite que las aplicaciones complementarias indiquen explícitamente que están gestionando una pulsera de actividad física. De esta forma, se garantiza que los usuarios disfruten de experiencias precisas con iconos distintos, al tiempo que se reutilizan los permisos de rol de observador.

Además, CompanionDeviceManager ahora ofrece un cuadro de diálogo unificado para las solicitudes de asociación de dispositivos y de permiso de cercanía. Puedes usar el nuevo método setExtraPermissions en AssociationRequest.Builder para agrupar las peticiones de permisos de proximidad en el flujo de asociación actual, lo que reduce el número de cuadros de diálogo que se muestran al usuario.

Empezar a usar Android 17

Puedes registrar cualquier dispositivo Pixel compatible para recibir esta y futuras actualizaciones de Android Beta de forma inalámbrica. Si no tienes un dispositivo Pixel, puedes usar las imágenes del sistema de 64 bits con el emulador de Android en Android Studio.

Si ya estás participando en el programa beta de Android, se te ofrecerá una actualización OTA a la versión beta 1.

Si tienes la versión beta del primer trimestre del 2026 de Android y quieres obtener la versión estable final del primer trimestre del 2026 y salir de la versión beta, debes ignorar la actualización inalámbrica a la versión beta 1 del segundo trimestre del 2026 y esperar al lanzamiento de la versión del primer trimestre del 2026.

Nos gustaría recibir tus comentarios, así que informa de 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 para la versión final.

Para disfrutar de 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 lo hayas configurado, te recomendamos que hagas lo siguiente:

  • Compila con el nuevo SDK, haz pruebas en entornos de integración continua e informa de cualquier problema en nuestro sistema de seguimiento en la página de comentarios.
  • Prueba la compatibilidad de tu aplicación actual, comprueba si se ve afectada por los cambios de Android 17 e instala tu aplicación en un dispositivo o emulador con Android 17 para probarla a fondo.

Actualizaremos las imágenes del sistema de vista previa o beta y el SDK con regularidad a lo largo del ciclo de lanzamiento de Android 17. Una vez que hayas instalado una compilación beta, recibirás automáticamente las futuras actualizaciones inalámbricas de todas las versiones preliminares y betas posteriores.

Para obtener información completa, visita el sitio para desarrolladores de Android 17.

Participa en la conversación

A medida que nos acercamos a la estabilidad de la plataforma y a la versión estable final de Android 17, que lanzaremos a finales de este año, vuestros comentarios siguen siendo nuestro recurso más valioso. Tanto si eres un usuario pionero del canal Canary como si eres un desarrollador de aplicaciones que está probando la versión beta 1, te recomendamos que te unas a nuestras comunidades y nos envíes tus comentarios. Tenemos muy en cuenta tus comentarios.

Escrito por:

Seguir leyendo