Guía de integración de la biblioteca de interfaz de usuario del automóvil

El kit de herramientas de la interfaz de usuario (IU) para automóviles proporciona un marco de desarrollo de IU que puede usar para garantizar que las aplicaciones presentes en los automóviles (aplicaciones de Google y aplicaciones de sistemas y proveedores) puedan lograr:

  • Infoentretenimiento UI/UX autoconsistencia. La autoconsistencia es la capacidad de un usuario para predecir cómo interactuar con un sistema de infoentretenimiento basado en experiencias previas interactuando con el mismo sistema.

  • personalización Los OEM pueden modificar la apariencia del sistema para integrar mejor la funcionalidad con el interior y el hardware del vehículo.

Para obtener más información sobre la integración de Car UI Library, consulte estos artículos:

Acerca de la biblioteca de interfaz de usuario del coche

La biblioteca Car UI es una biblioteca vinculada estáticamente, que proporciona un conjunto de componentes y recursos que puede usar para implementar:

  • Aplicaciones de sistema y OEM (Gerrit)
  • Aplicaciones de Android para automóviles (AAOS)

Esta biblioteca sirve como:

  • API de personalización por:

    • Definición de los recursos que se pueden personalizar, incluidos los colores, las dimensiones y los elementos de diseño.
    • Tratar los recursos como una API con garantías compatibles con versiones anteriores.
  • Capa de compatibilidad entre la solución a corto plazo proporcionada en Android 9 y Android 10 y la solución a más largo plazo que se está desarrollando actualmente.

Superposiciones de recursos

Actualmente, Android proporciona varias formas de aplicar personalizaciones sin necesidad de trabajo adicional para los subsistemas y aplicaciones afectados:

  • Superposiciones de tiempo de construcción. Esta personalización se aplica en el momento de la creación de la imagen del sistema Android. Durante la compilación, todas las aplicaciones del sistema reciben recursos de su carpeta res y de las carpetas overlay definidas en los archivos MAKE de destino.

  • Superposiciones dinámicas de tiempo de ejecución (RRO dinámico). Estos APK especiales contienen solo recursos y un archivo de manifiesto para indicar a qué APK de destino afectarán. Las RRO dinámicas se compilan e implementan independientemente de la imagen del sistema y se pueden activar y desactivar. Cuando el sistema realiza una búsqueda de recursos para una aplicación específica, el sistema también verifica cualquier RRO que se dirija a ella y si la RRO contiene un recurso con el mismo nombre.

  • Superposiciones de tiempo de ejecución estático (RRO estático). De estructura similar a las RRO dinámicas, siempre están activadas , lo que significa que no se pueden desinstalar ni actualizar sin realizar una actualización completa de la imagen del sistema. Las RRO estáticas sirven como un intermedio de las superposiciones de tiempo de ejecución dinámicas y de tiempo de compilación.

Además de los componentes de la interfaz de usuario, la biblioteca Car UI proporciona un mecanismo para superponer directamente los recursos (vinculados estáticamente en cada aplicación) con los recursos del OEM, utilizando un conjunto de RRO estáticos . Los OEM deben proporcionar una carpeta que contenga sus superposiciones de recursos y una lista de aplicaciones específicas. Durante una compilación, la infraestructura de la biblioteca Car UI usaría esta información para generar un RRO estático para cada aplicación de destino.

Componentes de la biblioteca de la interfaz de usuario del automóvil

Figura 1 . Componentes de la biblioteca de la interfaz de usuario del automóvil

En la imagen de arriba:

  • verde Personalización proporcionada por el OEM, una combinación de recursos superpuestos en tiempo de compilación y tiempo de ejecución.

  • Amarillo. Compatibilidad proporcionada por la biblioteca Car UI, que incluye recursos superpuestos , componentes (código Java) y compatibilidad de compilación para generar las RRO necesarias.

  • Azul. Objetivos personalizables que incluyen el marco, las aplicaciones del sistema, las aplicaciones del proveedor y las aplicaciones de GAS que utilizan la biblioteca Car UI para personalizar los elementos de la interfaz de usuario.