A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Guia de integração da biblioteca da interface do carro
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O kit de ferramentas da interface do usuário (IU) do carro oferece um framework de desenvolvimento de IU que pode ser usado para
garantir que os apps presentes nos carros (apps do Google e do sistema e do fornecedor) possam alcançar:
Autoconsistência da interface/UX do infoentretenimento. A autoconsistência é a capacidade de um
usuário prever como interagir com um sistema de infoentretenimento com base em experiências
anteriores de interação com o mesmo sistema.
Personalização. Os OEMs podem modificar a aparência do sistema para integrar melhor
a funcionalidade ao interior do veículo e ao hardware.
Para saber mais sobre a integração da Biblioteca de interface do carro, consulte estas páginas:
A biblioteca de interface do carro é uma biblioteca vinculada de forma estática, que oferece um conjunto de componentes e
recursos que podem ser usados para implementar:
Apps do sistema e OEM (Gerrit)
Apps Android Automotive (AAOS)
Essa biblioteca serve como:
API de personalização por:
Definir quais recursos podem ser personalizados, incluindo cores, dimensões e drawables.
Tratar os recursos como uma API com garantias de compatibilidade com versões anteriores.
Camada de compatibilidade entre o curto prazo fornecido no Android 9 e no Android 10 e a
solução de longo prazo que está sendo desenvolvida.
Sobreposições de recursos
Atualmente, o Android oferece várias maneiras de aplicar personalizações sem a necessidade de trabalho extra nos
subsistemas e apps afetados:
Sobreposições no tempo de build. Essa personalização é aplicada no momento da criação da imagem do sistema
Android. Durante o build, todos os apps no sistema recebem recursos da
pasta res e das pastas overlay definidas nos makefiles de destino.
Overlays dinâmicos de execução (RRO dinâmico). Esses APKs especiais contêm
apenas recursos e um arquivo de manifesto para indicar qual APK de destino eles
vão afetar. Os RROs dinâmicos são compilados e implantados independentemente da imagem do sistema e podem ser
ativados e desativados. Quando o sistema realiza uma pesquisa de recursos para um app específico, ele
também verifica se há qualquer RRO direcionado a ele e se o RRO contém um recurso com o
mesmo nome.
Sobreposições estáticas de execução (RRO estático). Assim como as RROs dinâmicas na estrutura,
elas estão sempre ativas, o que significa que não podem ser desinstaladas ou atualizadas sem realizar uma
atualização completa da imagem do sistema. As RROs estáticas servem como intermediárias de sobreposições dinâmicas
e de build.
Além dos componentes da interface, a biblioteca de interface do carro oferece um mecanismo para sobrepor diretamente
os recursos (vinculados estaticamente a cada app) com os recursos do OEM usando um conjunto de RROs
estáticos. Os OEMs precisam fornecer uma pasta que contenha as sobreposições de recursos e uma lista de apps
alvo. Durante um build, a infraestrutura da biblioteca de interface do carro usaria essas informações para
gerar um RRO estático para cada app de destino.
Figura 1. Componentes da biblioteca de interface do carro
Na imagem acima:
Verde. Personalização fornecida pelo OEM, uma combinação de recursos de sobreposição
no build e no tempo de execução.
Amarelo. Suporte fornecido pela biblioteca de interface do Car, incluindo recursos sobrepostos
, componentes (código Java) e suporte ao build para gerar as RROs necessárias.
Azul. Alvos personalizáveis, incluindo o framework, apps
do sistema, apps do fornecedor e apps do GAS que usam a biblioteca Car UI para
personalizar elementos de interface.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]