A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Guía de integración de la biblioteca de la IU del vehículo
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El kit de herramientas de la interfaz de usuario (IU) para vehículos proporciona un marco de trabajo de desarrollo de IU que puedes usar para asegurarte de que las apps presentes en los vehículos (las apps de Google y las apps del sistema y del proveedor) puedan lograr lo siguiente:
Autoconsistencia de la IU/UX del infoentretenimiento La coherencia interna es la capacidad de un usuario para predecir cómo interactuar con un sistema de infoentretenimiento en función de experiencias anteriores con el mismo sistema.
Personalización. Los OEMs pueden modificar el aspecto 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 la biblioteca de IU del vehículo, consulta estas páginas:
Información acerca de la biblioteca de la IU del vehículo
La biblioteca de la IU del vehículo es una biblioteca vinculada de forma estática, que proporciona un conjunto de componentes y recursos que puedes usar para implementar lo siguiente:
Apps del sistema y del OEM (Gerrit)
Apps para Android Automotive (AAOS)
Esta biblioteca funciona como:
API de personalización por:
Definir qué recursos se pueden personalizar, incluidos los colores, las dimensiones y los elementos de diseño
Tratar los recursos como una API con garantías de retrocompatibilidad
Capa de compatibilidad entre la solución a corto plazo que se proporciona en Android 9 y Android 10 y la solución a largo plazo que se está desarrollando actualmente.
Superposiciones de recursos
Actualmente, Android proporciona varias formas de aplicar personalizaciones sin necesidad de realizar trabajo adicional en los subsistemas y las apps afectados:
Superposiciones del tiempo de compilación Esta personalización se aplica en el tiempo de compilación de la imagen del sistema de Android. Durante la compilación, todas las apps del sistema reciben recursos de su carpeta res y de las carpetas overlay definidas en los archivos de configuración de destino.
Superposiciones del entorno de ejecución dinámico (RRO dinámico). Estos APKs especiales contienen solo recursos y un archivo de manifiesto para indicar a qué APK de destino afectarán. Los RRO dinámicos se compilan y se implementan independientemente de la imagen del sistema y se pueden activar o desactivar. Cuando el sistema realiza una búsqueda de recursos para una app específica, también verifica si hay algún RRO segmentado para ella y si el RRO contiene un recurso con el mismo nombre.
Superposiciones de tiempo de ejecución estáticas (RRO estáticas) Al igual que los RRO dinámicos en la estructura, estos siempre están activados, lo que significa que no se pueden desinstalar ni actualizar sin realizar una actualización completa de la imagen del sistema. Los RRO estáticos funcionan como un elemento intermedio de las superposiciones de tiempo de compilación y tiempo de ejecución dinámicas.
Además de los componentes de la IU, la biblioteca de la IU del automóvil proporciona un mecanismo para superponer directamente los recursos (vinculados de forma estática en cada app) con los recursos del OEM, a través de un conjunto de RRO estáticos. Los OEMs deben proporcionar una carpeta que contenga sus superposiciones de recursos y una lista de apps objetivo. Durante una compilación, la infraestructura de la biblioteca de la IU del vehículo usaría esta información para generar un RRO estático para cada app objetivo.
Figura 1. Componentes de la biblioteca de la IU del vehículo
En la imagen anterior, se muestra lo siguiente:
Verde. Personalización proporcionada por el OEM, una combinación de recursos de superposición de tiempo de compilación y tiempo de ejecución
Amarillo Compatibilidad proporcionada por la biblioteca de la IU del automóvil, incluidos recursos superpuestos
, componentes (código Java) y compatibilidad de compilación para generar los RRO necesarios.
Azul. Objetivos personalizables, incluidos el framework, las apps del sistema, las apps de proveedores y las apps de GAS que usan la biblioteca de la IU del vehículo para personalizar los elementos de la IU.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Car UI library integration guide\n\nThe Car User Interface (UI) toolkit provides a UI development framework you can use to\nensure apps present in cars (Google apps *and* system and vendor apps) can attain:\n\n- **Infotainment UI/UX self-consistency.** Self-consistency is the ability for a\n user to predict how to interact with an infotainment system based on previous experiences\n interacting with the same system.\n\n- **Customization.**OEMs can modify the look-and-feel of the system to best\n integrate functionality with vehicle interior and hardware.\n\nTo learn more about Car UI Library integration, see these pages:\n\n- [Integrate the Car UI library into apps](/docs/automotive/hmi/car_ui/integrate)\n- [Customize apps](/docs/automotive/hmi/car_ui/customize)\n- [Add custom fonts](/docs/automotive/hmi/car_ui/fonts)\n- [Customize Car UI preferences](/docs/automotive/hmi/car_ui/caruipreference)\n- [CarUiListItem](/docs/automotive/hmi/car_ui/caruilistitem)\n- [Customize CarUiRecyclerView](/docs/automotive/hmi/car_ui/caruirecyclerview)\n- [Troubleshoot runtime resource overlays](/docs/core/runtime/rro-troubleshoot)\n- [Release notes](/docs/automotive/hmi/car_ui/release_notes)\n- [Appendix A, work with RROs](/docs/automotive/hmi/car_ui/appendix)\n- [Appendix B, customization guidelines](/docs/automotive/hmi/car_ui/appendix_b)\n\nAbout the Car UI library\n------------------------\n\nThe Car UI library is a statically linked library, which provides a set of components and\nresources you can use to implement:\n\n- System and OEM apps (Gerrit)\n- Android Automotive (AAOS) apps\n\nThis library serves as a:\n\n- Customization API by:\n\n - Defining which resources can be customized including, colors, dimensions, and drawables.\n - Treating the resources as an API with backwards-compatible guarantees.\n- Compatibility layer between the short-term provided in Android 9 and Android 10 and the longer term solution currently being developed.\n\nResource overlays\n-----------------\n\nAndroid currently provides several ways to apply customizations without additional work needed to\nthe affected subsystems and apps:\n\n- **Build-time overlays.** This customization is applied at Android system image\n build time. During the build, all apps in the system receive resources from their\n `res` folder and from `overlay` folders defined in the target\n makefiles.\n\n- **Dynamic runtime overlays (dynamic RRO).** These special APKs contain\n *only* resources and a manifest file to indicate which *target APK* they will\n affect. Dynamic RROs are compiled and deployed independently of the system image and can be\n toggled on and off. When the system performs a resource lookup for a specific app, the\n system also checks for *any* RRO targeting it and if the RRO contains a resource with the\n same name.\n\n- **Static runtime overlays (static RRO).** Similar to dynamic RROs in structure,\n these are always *on*, meaning they can't be uninstalled or updated without performing a\n full system image upgrade. Static RROs serve as an intermediate of build-time and dynamic\n runtime overlays.\n\nIn addition to UI components, the Car UI library provides a mechanism to directly overlay\nresources (statically linked into each app) with the OEM resources, using a *set of static\nRROs*. OEMs must provide a folder containing their resource overlays and a list of targeted\napps. During a build, the Car UI library infrastructure would use this information to\ngenerate one static RRO for each targeted app.\n| **Note:** This mechanism will become obsolete in Android 11 (and higher) when RROs can target Android libraries.\n\n**Figure 1**. Car UI library components\n\nIn the image above:\n\n- **Green**. Customization provided by the OEM, a mix of build-time and run-time\n overlay resources.\n\n- **Yellow.** Support provided by Car UI library, including *overlayable*resources, components (Java code) and build support to generate the necessary RROs.\n\n- **Blue.** *Customizable* targets including the framework, system\n apps, vendor apps and GAS apps that use the Car UI library to\n *customize* UI elements."]]