Android Automotive 25Q4

En esta página, se describen las funciones y mejoras de la versión 25Q4 del SO Android Automotive (AAOS). AAOS 25Q4 es un lanzamiento oficial de la versión golden. La versión 25Q4 ofrece ocho funciones nuevas y aborda 180 problemas.

AAOS 25Q4 usa el nivel de API 16.1.

Funciones

Esta versión de AAOS proporciona las nuevas funciones que se describen aquí.

Framework

Compatibilidad con el dial para Jetpack Compose:

  • Android 14 y versiones posteriores: AAOS proporciona compatibilidad básica integrada con el control rotatorio para las interfaces de usuario de Jetpack Compose, incluida la rotación y los ajustes del controlador.

  • Android 12, Android 12L y Android 13: AAOS proporciona compatibilidad rotatoria limitada para las IU de Compose. La rotación del controlador funciona con una solución alternativa del lado de la app. No admitimos la función de sugerencias.

    Para obtener más información, consulta la demostración de la actividad de Compose de View en la app de RotaryPlayground. Obtén el código fuente de esta app en la rama car-apps-dev.

Rendimiento y estado del sistema

  • Detener las apps de usuarios anteriores: Para reducir la latencia del cambio de usuario y el espacio de memoria, el sistema detiene las apps del usuario anterior antes en el proceso de cambio de usuario.

Experiencia del sistema

IU escalable

AAOS agrega una solución de ventanas específica para automóviles que ayuda a los OEM a desarrollar experiencias de ventanas avanzadas con IU escalable de una manera segura, conforme y rentable. Este framework permite a los desarrolladores diseñar una estructura de ventanas con un lenguaje declarativo en configuraciones XML.

  • Enfoque en la tarea en la IU escalable: Se introduce un conjunto de reglas para determinar qué tarea recibe el enfoque en un entorno multiventana (como abrir y cerrar paneles). Un nuevo atributo onTransition en la etiqueta Focus proporciona un control más detallado.

  • Mecanismo de reinicio automático en la IU adaptable: Los paneles de la IU adaptable controlan correctamente las fallas de las apps reiniciando las apps defectuosas. Para abordar las finalizaciones inesperadas de tareas en los paneles de la IU, configura el mecanismo de reinicio automático de tareas con una nueva etiqueta XML <Restart> para definir una política de reinicio y una cantidad máxima de reintentos.

  • Mejoras de rendimiento al arrastrar paneles de decoración y la instrumentación del rendimiento: AAOS proporciona una mejora del rendimiento para las animaciones de arrastre de paneles interactivos y agrega instrumentación a la biblioteca de IU escalable para medir la disonancia durante los recorridos del usuario clave.

    Los registros de Perfetto del OEM proporcionan informes de metadatos adicionales específicos de lo que sucede en el sistema de ventanas y en la biblioteca de IU escalable.

  • Las vistas de decoración del panel se adaptan y responden a los cambios de tema: La aplicación de temas del panel se adapta a los cambios de tema, como el cambio entre los modos claro y oscuro, o a otras actualizaciones de temas a nivel de la IU del sistema.

Comandos de depuración del usuario y herramientas para desarrolladores:

  • Los comandos de shell generan el estado actual del panel y envían eventos a través de adb: Usa los comandos adb para cambiar los estados visuales del panel, como abrir o cerrar un panel.

    El comando de shell activa un evento en el sistema. Por ejemplo, para cerrar el panel de la cuadrícula de apps cuando está abierto, ejecuta adb shell cmd statusbar carsysui-dispatch-event close_app_grid.

  • El estado del panel se incluye en el volcado de dumpsys de la actividad: El volcado de dumpsys de la actividad incluye el estado del panel. Usa herramientas de depuración para obtener estados del panel con el comando de shell dumpsys adb.

    El comando muestra los estados actuales del panel cuando no se produce ninguna acción visual. El comando es el siguiente:

    adb shell cmd statusbar carsysui-dump-panelstates
    

Registro y seguimiento de datos del OEM

  • Se agregó el registro de eventos de suscripción a datos del automóvil: Para mejorar el seguimiento de datos, el registro de conectividad del usuario está disponible para los OEM.

Apps principales

Para ayudar a verificar el cumplimiento del documento de definición de compatibilidad (CDD) y el Conjunto de pruebas de compatibilidad (CTS) para las apps para dispositivos móviles aptas para automóviles, se mejoran la compatibilidad y la usabilidad de las apps de terceros en entornos automotrices. Para demostrar las prácticas recomendadas para una navegación fluida, hay muestras de referencia disponibles para la indicación visual de volver.

  • Mejoras en la actividad de bloqueo de actividad (ABA): Para mejorar la administración del ciclo de vida, AAOS perfecciona el comportamiento de ABA de OnStop.

  • Rectángulo seguro para la renderización de la app: Para ayudar a verificar la visibilidad del contenido y evitar la oclusión, AAOS define un área de visualización de la app designada.

  • Ajuste de DPI: AAOS optimiza los elementos de la IU según la resolución de la pantalla y la distancia de visualización.

  • Anulaciones por app: AAOS te permite controlar el comportamiento de la app, como la orientación y la relación de aspecto.

  • Mejoras en la compatibilidad: AAOS incluye la funcionalidad principal de Android, como DocumentsUI, y agrega mejoras a la compatibilidad con apps de terceros.

  • Controles alternativos de la app: AAOS permite a los usuarios controlar el audio que no proviene del centro multimedia mientras conducen, específicamente desde las apps de comunicación.

Propiedades de VHAL

  • Etiqueta de enumeración de propiedad @SystemApi: AAOS permite que las apps de terceros accedan a las enumeraciones de propiedad designadas como accesibles para las apps de terceros.

Audio

  • APIs de Fade y Balance: AAOS actualiza las apps propias para recuperar la configuración actual de fade y balance de un usuario. Estos niveles de audio persisten por usuario en todos los ciclos de encendido. Esta actualización proporciona paridad con otros parámetros de configuración de audio controlados por el usuario en las APIs de audio del automóvil.

Privacidad

  • Control de acceso a las Condiciones del Servicio de Google: Puedes inhabilitar apps hasta que el usuario acepte las Condiciones del Servicio de Google. Los íconos de las apps inhabilitadas aparecen en gris para indicar un estado de inactividad.

    Si presionan una app inhabilitada, se les solicitará a los usuarios que acepten las Condiciones del Servicio de Google.

    En Android 25Q4, esta función es compatible con las experiencias de OEM que colocan experiencias persistentes de Google en un panel de segundo plano configurado con la IU escalable. Por ejemplo, una actividad persistente de Google Maps establecida como experiencia de pantalla de Inicio aparece atenuada hasta que el usuario acepta la restricción de los Condiciones del Servicio de Google.

Cumplimiento

AAOS prueba el cumplimiento de Android en Cuttlefish y en hardware de referencia interno con estos conjuntos de pruebas en la GSI: CTS, CTS-V, ATS, ATS-V, STS, VTS y CTS en la GSI.

Ningún error requiere correcciones en el código de Android 16 (android16-release) o en la rama de prueba de Android 16 (android16-m1-tests-dev), excepto los problemas que se enumeran a continuación.

Planeamos abordar estos problemas de cumplimiento en una próxima versión del AOSP.

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

Fallas en las pruebas de Android 25Q4

En esta sección, se enumeran los casos de prueba fallidos para Android 25Q4 que son específicos de Cuttlefish. Las pruebas que fallan se aprueban en el hardware de referencia interno. Confirmamos cualquier caso de prueba incoherente en Cuttlefish y el hardware de referencia interno.

Para determinar la inconsistencia de las pruebas, evaluamos los resultados de 15 compilaciones consecutivas durante las cuales se producen varios grupos de fallas en las pruebas.

Caso de prueba Casos
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1