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:
- Integracja biblioteki Car UI z aplikacjami
- Dostosowywanie aplikacji
- Dodawanie czcionek niestandardowych
- Dostosowywanie ustawień interfejsu Car UI
- CarUiListItem
- Dostosowywanie CarUiRecyclerView
- Rozwiązywanie problemów z nakładkami zasobów w czasie wykonywania
- Informacje o wersji
- Załącznik A. Praca z usługami RRO
- Załącznik B. Wskazówki dotyczące dostosowywania
Informacje o bibliotece Car UI
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 resoraz z folderówoverlayzdefiniowanych 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. 
