Tokeny projektowe OEM to implementacja systemu operacyjnego Android Automotive (AAOS) Styl Material Design systemu. W przeciwieństwie do metody opartej na algorytmie lub wyborze użytkownika w odniesieniu do wartości tokenów w przypadku urządzeń mobilnych OEM wartości tokenów projektowania. Tokeny projektowe reprezentują małe, powtarzające się decyzje projektowe, z których składa się styl wizualny systemu projektowania i zastąpić wartości statyczne zrozumiałymi nazwami. Tokeny są analogiczne do tych zdefiniowanych w systemie Material Design.
Biblioteka tokenów OEM
Tokeny projektowe OEM są odwoływane za pomocą biblioteki tokenów OEM, która składa się z 3 elementów komponentów przedstawionych na rys. 1.
Rysunek 1. Komponenty biblioteki tokenów OEM.
Biblioteka statyczna
Komponent biblioteki statycznej biblioteki tokenów OEM ułatwia dostęp do wartości tokenów, co dalej.
- Udostępnia interfejsy API umożliwiające dostęp do wartości tokenów OEM.
- Umożliwia zastępowanie odniesień do tokenów w motywie z wartościami OEM za pomocą akceptacji.
Zasoby wspólne
Komponent zasobów wspólnych odpowiada za zdefiniowanie tych elementów:
- Nazwa biblioteki.
- Akceptacja wartości logicznej w celu włączenia wartości tokenów OEM.
- Styl, który zawiera wartości tokenów OEM.
Aby uwzględnić prawa własności OEM do tego komponentu biblioteki udostępnionej, w tym pakietu zdefiniowanego przez OEM producent OEM może zastąpić implementację zasobów wspólnych.
Rysunek 2. Zastąp implementację udostępnianych zasobów.
Zasoby wspólne OEM
Zastąpienia OEM komponentu biblioteki udostępnionej pozwalają zachować prawa własności OEM do biblioteki, zachowanie zgodności z innymi komponentami w bibliotece tokenów OEM dzięki udostępnieniu środków nazwę i podpis pakietu, które mają być ustawiane przez OEM, pozostawiając implementację wspólnych w inny sposób niezmodyfikowana.
Zastąpienia zasobów wspólnych można zdefiniować w ten sposób:
override_android_app { name: "[OEM]-token-shared-lib", base: "token-shared-lib", package_name: "com.[OEM].sharedlib", rename_resources_package: false, certificate: … }
Aby ustawić wartości tokenów, przeczytaj artykuł Określanie wartości tokenów OEM.
Dostosowania biblioteki udostępnione OEM
aby obsługiwać różne schematy wartości tokenów (np. różnicowanie modelu lub trybu Dysku), Producenci OEM mogą dostarczać dynamiczne wartości tokenów, kierując na zasoby wspólne OEM za pomocą środowiska wykonawczego. Resource Overlays (RRO). Więcej informacji: Zmień wartość zasobów aplikacji w czasie działania
Aby ustawić wartości tokenów, przeczytaj artykuł Określanie wartości tokenów OEM.
Podaj wartości tokenów OEM
Aby określić wartości tokenów, ustaw odpowiedni atrybut w stylu OemStyle
na
wymaganej wartości.
<resources> <style name="OemStyle"> <item name="colorPrimary">#B0C5FF</item> <item name="colorOnPrimary">#002B76</item> <item name="colorPrimaryContainer">#003FA4</item> <item name="colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
Włącz wartości OEM
Aby aplikacje miały dostęp do wartości tokenów dostarczonych przez OEM, producent OEM musi najpierw wyrazić zgodę na zastępowanie wartości domyślnych
przez skonfigurowanie wartości logicznej enable_oem_tokens
na true
.
Wartości tokenów RRO
Podobnie jak w przypadku ustawiania wartości tokenów w OemStyle
, reguły RRO mogą służyć do modyfikowania
stylu, aby podać alternatywne wartości tokena.
<resources> <style name="OemStyle"> <item name="com.android.oem.tokens:colorPrimary">#B0C5FF</item> <item name="com.android.oem.tokens:colorOnPrimary">#002B76</item> <item name="com.android.oem.tokens:colorPrimaryContainer">#003FA4</item> <item name="com.android.oem.tokens:colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
Witryny RRO powinny ustawić atrybuty zasobów wspólnych w stylu, określając zasoby wspólne. imię i nazwisko.
Skonfiguruj ostatnie wczytywanie
Systemy, które obejmują implementację biblioteki współdzielonej tokenów przez OEM, muszą skonfigurować system
aby wczytać zasoby wspólne po zajęciach w aplikacji. Aby to zrobić, podaj nazwę biblioteki.
(com.android.oem.tokens
) w: config_sharedLibrariesLoadedAfterApp
jego konfigurację. Jeśli masz dostęp do Google Automotive Services (GAS), jest to wymuszane jako
.
<!-- The OEM token shared library will be loaded after app classes --> <string-array name="config_sharedLibrariesLoadedAfterApp" translatable="false"> <item>com.android.oem.tokens</item> </string-array>
Sprawdzone metody
Poniżej opisano sprawdzone metody korzystania z biblioteki tokenów OEM.
Włączanie elastycznej strategii aktualizacji
Zapoznaj się z poniższymi strategiami, aby zyskać większą elastyczność w zakresie aktualizacji.
Zasoby wspólne OEM
Ponieważ biblioteki współdzielone systemu muszą być wstępnie zainstalowane w obrazach systemu, urządzenia muszą: za pomocą biblioteki lub biblioteki, należy dodać ją w ramach aktualizacji Over-The-Air (OTA), więcej dowiesz się z artykułu Aktualizacje OTA). Jednak wdrożenie wersji krótkoterminowej zastąpienia biblioteki współdzielonej tokena OEM w obraz systemu umożliwia przekazanie aktualizacji do w pełni działającej implementacji na urządzeniach bez konieczności korzystania z funkcji OTA.
RRO w udostępnianych zasobach
Chociaż nie jest wymagane, aby aplikacje RRO były instalowane jako aplikacje systemowe, zapewnia to pewne zachowanie aktualizacji, które może być pożądane.
- Automatyczne aktualizacje aplikacji, gdy użytkownicy nie są zalogowani.
- Nie mogą ich odinstalować (użytkownicy mogą tylko odinstalowywać aktualizacje).