Przewodnik po integracji z biblioteką interfejsu samochodowego

Zestaw narzędzi Car User Interface (UI) zapewnia strukturę rozwoju interfejsu użytkownika, której można użyć, aby zapewnić, że aplikacje obecne w samochodach (aplikacje Google oraz aplikacje systemowe i dostawców) mogą osiągnąć:

  • Spójność UI/UX systemu informacyjno-rozrywkowego. Spójność własna to zdolność użytkownika do przewidywania sposobu interakcji z systemem informacyjno-rozrywkowym na podstawie wcześniejszych doświadczeń związanych z interakcją z tym samym systemem.

  • Dostosowywanie. Producenci OEM mogą modyfikować wygląd i działanie systemu, aby jak najlepiej zintegrować funkcjonalność z wnętrzem pojazdu i sprzętem.

Aby dowiedzieć się więcej o integracji biblioteki interfejsu samochodowego, zapoznaj się z następującymi artykułami:

Informacje o bibliotece interfejsu samochodowego

Biblioteka Car UI to biblioteka połączona statycznie, która zapewnia zestaw komponentów i zasobów, których można użyć do wdrożenia:

  • Aplikacje systemowe i OEM (Gerrit)
  • Aplikacje Android Automotive (AAOS)

Ta biblioteka służy jako:

  • Dostosowywanie API przez:

    • Definiowanie zasobów, które można dostosować, w tym kolory, wymiary i elementy do rysowania.
    • Traktowanie zasobów jako interfejsu API z gwarancjami zgodnymi z poprzednimi wersjami.
  • Warstwa kompatybilności między krótkoterminowym rozwiązaniem dostarczanym w Android 9 i Android 10 a długoterminowym rozwiązaniem, które jest obecnie opracowywane.

Nakładki zasobów

Android udostępnia obecnie kilka sposobów na zastosowanie dostosowań bez dodatkowej pracy w podsystemach i aplikacjach, których dotyczy problem:

  • Nakładki w czasie budowy. To dostosowanie jest stosowane w czasie kompilacji obrazu systemu Android. Podczas kompilacji wszystkie aplikacje w systemie otrzymują zasoby ze swojego folderu res oraz z folderów overlay zdefiniowanych w docelowych plikach makefile.

  • Dynamiczne nakładki uruchomieniowe (dynamiczne RRO). Te specjalne pakiety APK zawierają tylko zasoby i plik manifestu, aby wskazać, na który docelowy pakiet APK będą miały wpływ. Dynamiczne RRO są kompilowane i wdrażane niezależnie od obrazu systemu i można je włączać i wyłączać. Gdy system przeprowadza wyszukiwanie zasobów dla określonej aplikacji, sprawdza również, czy RRO jest jej celem i czy RRO zawiera zasób o tej samej nazwie.

  • Statyczne nakładki wykonawcze (statyczne RRO). Podobnie jak dynamiczne RRO w strukturze, są one zawsze włączone , co oznacza, że ​​nie można ich odinstalować ani zaktualizować bez wykonania pełnego uaktualnienia obrazu systemu. Statyczne RRO służą jako pośrednik między nakładkami czasu kompilacji i dynamicznym środowiskiem wykonawczym.

Oprócz komponentów interfejsu użytkownika, biblioteka Car UI zapewnia mechanizm bezpośredniego nakładania zasobów (statycznie połączonych z każdą aplikacją) z zasobami OEM przy użyciu zestawu statycznych RRO . Producenci OEM muszą dostarczyć folder zawierający ich nakładki zasobów oraz listę docelowych aplikacji. Podczas kompilacji infrastruktura biblioteki Car UI wykorzystywałaby te informacje do generowania jednego statycznego RRO dla każdej docelowej aplikacji.

Komponenty biblioteki interfejsu samochodowego

Rysunek 1 . Komponenty biblioteki interfejsu samochodowego

Na powyższym obrazku:

  • Zielony . Dostosowanie zapewniane przez producenta OEM, połączenie zasobów nakładek w czasie kompilacji i w czasie wykonywania.

  • Żółty. Wsparcie zapewniane przez bibliotekę Car UI, w tym zasoby do nakładania , komponenty (kod Java) i wsparcie kompilacji w celu wygenerowania niezbędnych RRO.

  • Niebieski. Konfigurowalne cele, w tym framework, aplikacje systemowe, aplikacje dostawców i aplikacje GAS, które wykorzystują bibliotekę Car UI do dostosowywania elementów UI.