Tokeny projektowe OEM

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).