Od 27 marca 2025 r. zalecamy używanie android-latest-release zamiast aosp-main do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zestaw narzędzi interfejsu użytkownika samochodu zawiera framework do tworzenia interfejsu użytkownika, który możesz wykorzystać, aby zapewnić, że aplikacje w samochodach (aplikacje Google iaplikacje systemowe oraz aplikacje dostawców) mogą:
Spójność interfejsu użytkownika systemu Infotainment. Samospójność to zdolność użytkownika do przewidywania sposobu interakcji z systemem informacyjno-rozrywkowym na podstawie wcześniejszych doświadczeń z obsługi tego samego systemu.
Dostosowywanie. Producenci oryginalnego sprzętu mogą modyfikować wygląd i działanie systemu, aby jak najlepiej zintegrować jego funkcje z wyposażeniem i wykończeniem wnętrza pojazdu.
Więcej informacji o integracji z Car UI Library znajdziesz na tych stronach:
Biblioteka Car UI to biblioteka z linkami statycznymi, która zawiera zestaw komponentów i zasobów, których możesz użyć do implementacji:
Aplikacje systemowe i aplikacje OEM (Gerrit)
Aplikacje na Androida Automotive (AAOS)
Biblioteka pełni funkcję:
Interfejs API do personalizacji:
Definiowanie zasobów, które można dostosowywać, w tym kolorów, wymiarów i obiektów do rysowania.
traktowanie zasobów jako interfejsu API z gwarancją wstecznej zgodności;
Warstwa zgodności między tymczasowym rozwiązaniem udostępnionym w Androidzie 9 i Androidzie 10 a długoterminowym rozwiązaniem, które jest obecnie opracowywane.
Nakładki zasobów
Android udostępnia obecnie kilka sposobów na zastosowanie funkcji niestandardowych bez konieczności wprowadzania dodatkowych zmian w dotkniętych nimi podsystemach i aplikacjach:
Nakładki w czasie kompilacji. Ta personalizacja jest stosowana w momencie tworzenia obrazu systemu Android. Podczas kompilacji wszystkie aplikacje w systemie otrzymują zasoby z folderu res oraz z folderów overlay zdefiniowanych w plikach make przeznaczonych do danego celu.
Dynamiczne nakładki w czasie wykonywania (dynamiczne RRO). Te specjalne pliki APK zawierają tylko zasoby i plik manifestu, który wskazuje, jaki docelowy plik APK będzie przez nie modyfikowany. Dynamiczne RRO są kompilowane i wdrażane niezależnie od obrazu systemu i mogą być włączane i wyłączane. Gdy system wyszukuje zasoby dla konkretnej aplikacji, sprawdza też, czy jakikolwiek RRO jest kierowany na tę aplikację i czy RRO zawiera zasób o tej samej nazwie.
Statyczne nakładki w czasie wykonywania (statyczne RRO). Podobnie jak dynamiczne aktualizacje w ramach struktury, te aktualizacje są zawsze włączone, co oznacza, że nie można ich odinstalować ani zaktualizować bez przeprowadzenia pełnego uaktualnienia obrazu systemu. Statyczne RRO służą jako pośrednie nakładki statystyczne i dynamiczne.
Oprócz komponentów UI biblioteka Car UI udostępnia mechanizm umożliwiający bezpośrednie nakładanie zasobów (statycznie powiązanych z każdą aplikacją) na zasoby OEM za pomocą zbioru statycznych zasobów RRO. Producenci OEM muszą udostępnić folder zawierający nakładki zasobów i listę aplikacji docelowych. Podczas kompilacji infrastruktura biblioteki interfejsu Car UI używa tych informacji do generowania jednego stałego RRO dla każdej docelowej aplikacji.
Rysunek 1 Komponenty biblioteki Car UI
Na obrazku powyżej:
Zielony. Personalizacja zapewniana przez producenta OEM, czyli kombinacja zasobów na etapie kompilacji i w czasie działania.
Żółty. Obsługa zapewniana przez bibliotekę interfejsu użytkownika samochodu, w tym zasoby z możliwością nakładania
, komponenty (kod Java) i obsługa kompilacji do generowania niezbędnych RRO.
Niebieski.Dane dostosowane, w tym platforma, aplikacje systemowe, aplikacje dostawców i aplikacje GAS, które korzystają z biblioteki Car UI do dostosowywania elementów interfejsu.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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."]]