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 dorado oficial. La versión 25Q4 ofrece ocho funciones nuevas y aborda 180 problemas.
AAOS 25Q4 usa el nivel de API 36.
Funciones
Esta versión de AAOS proporciona las nuevas funciones que se describen aquí.
Framework
Compatibilidad con el dial en Jetpack Compose:
Android 14 y versiones posteriores: AAOS proporciona compatibilidad rotatoria integrada básica para las interfaces de usuario de Jetpack Compose, incluida la rotación y el ajuste 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 ramacar-apps-dev.
Rendimiento y estado del sistema
- Detener 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 adaptable
AAOS agrega una solución de ventanas específica para automóviles que ayuda a los OEM a desarrollar experiencias de ventanas avanzadas con la 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 de varias ventanas (como la apertura y el cierre de paneles). Un nuevo atributo
onTransitionen la etiquetaFocusproporciona un control más detallado.Mecanismo de reinicio automático en la IU adaptable: Los paneles de la IU adaptable ahora controlan correctamente las fallas de las apps reiniciando las apps defectuosas. Presentamos un mecanismo de reinicio automático de tareas para abordar las finalizaciones inesperadas de tareas en los paneles de la IU, que se configura con una nueva etiqueta XML
<Restart>para definir una política de reinicio y la cantidad máxima de reintentos.Mejoras en el rendimiento al arrastrar paneles de decoración y en la instrumentación del rendimiento: AAOS proporciona una mejora del rendimiento para las animaciones de arrastre de paneles interactivos. Además, agrega la 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. Por ejemplo, entre los modos claro y oscuro, o bien otros cambios 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
adbpara 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 cuadrícula de la app 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 (comando adb) para obtener estados del panel con dumpsys (comando de shell
=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
- Agrega registros a los eventos de suscripción a datos del automóvil. Para mejorar el seguimiento de datos, habilitamos el registro de conectividad del usuario para los OEM.
Apps principales
Para ayudar a verificar el cumplimiento del CDD y el CTS para las Apps para dispositivos móviles aptas para automóviles (CaRMA), mejoramos la compatibilidad y la usabilidad de las apps de terceros en entornos automotrices. Para demostrar las prácticas recomendadas para una navegación fluida, agregamos muestras de referencia para la acción 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.
Es el rectángulo seguro para el procesamiento 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 la propiedad
@SystemApi: AAOS permite el acceso de terceros a las enumeraciones que las propiedades designaron recientemente como accesibles para las apps de terceros.
Audio
- APIs de Fade y Balance: AAOS mejora las apps propias para recuperar la configuración actual de fade y balance de un usuario. Estos niveles de audio persisten para cada usuario en 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 las 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 los siguientes 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#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases: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 |