OEM-Designtokens

OEM-Designtokens sind eine AAOS-Implementierung (Android Automotive OS) der Material Design System. Anders als beim Algorithmus- oder Nutzerauswahlansatz für Tokenwerte auf Mobilgeräten legen OEMs fest, Token-Werte entwerfen. Designtokens stellen die kleinen, wiederholten Designentscheidungen dar, aus denen ein Designsystem anpassen und statische Werte durch selbsterklärende Namen ersetzen. Tokens sind analog zu denen des Material-Design-Systems.

OEM-Tokenbibliothek

Auf OEM-Designtokens wird über die OEM-Tokenbibliothek verwiesen, die aus den drei Komponenten, die in Abbildung 1 dargestellt sind.

Abbildung 1: Komponenten der OEM-Tokenbibliothek.

Static-Bibliothek

Die statische Bibliothekskomponente der OEM-Tokenbibliothek erleichtert den Zugriff auf Tokenwerte als folgt.

  • Stellt APIs für den Zugriff auf OEM-Werte für Tokens bereit.
  • Ermöglicht das Überschreiben von Tokenverweisen im Design mit OEM-Werten.

Gemeinsam genutzte Bibliothek

Über die Komponente der gemeinsam genutzten Bibliothek wird Folgendes definiert:

  • Name der Bibliothek.
  • Boolescher Opt-in zum Aktivieren für OEM-Tokenwerte.
  • Stil, der OEM-Tokenwerte bereitstellt.

Um dem OEM-Eigentum dieser Komponente der gemeinsam genutzten Bibliothek, einschließlich eines OEM-definierten Pakets, Rechnung zu tragen können OEMs die Implementierung der gemeinsam genutzten Bibliothek überschreiben.

Abbildung 2: Implementierung einer gemeinsam genutzten Bibliothek überschreiben.

Vom OEM gemeinsam genutzte Bibliothek

OEM-Überschreibungen der gemeinsam genutzten Bibliothekskomponente ermöglichen dem OEM die Inhaberschaft der Bibliothek während Aufrechterhaltung der Kompatibilität mit anderen Komponenten in der OEM-Token-Bibliothek, indem die Möglichkeit Paketname und Signatur, die vom OEM festgelegt werden, während die Implementierung der gemeinsam genutzten die sonst unverändert geblieben ist.

Überschreibungen für eine gemeinsam genutzte Bibliothek können so definiert werden:

override_android_app {
    name: "[OEM]-token-shared-lib",
    base: "token-shared-lib",
    package_name: "com.[OEM].sharedlib",
    rename_resources_package: false,
    certificate: 
}

Informationen zum Festlegen von Tokenwerten finden Sie unter OEM-Tokenwerte angeben.

<ph type="x-smartling-placeholder">

Anpassungen der gemeinsam genutzten OEM-Bibliothek

Zur Unterstützung unterschiedlicher Schemas für Tokenwerte (z. B. Modell- oder Fahrmodusdifferenzierung) OEMs können dynamische Werte für Tokens bereitstellen, indem sie ein Targeting auf die gemeinsam genutzte OEM-Bibliothek mit Laufzeit vornehmen. Ressourcen-Overlays (Ressourcen-Overlays, RROs). Weitere Informationen finden Sie unter Den Wert der Ressourcen einer App während der Laufzeit ändern

Informationen zum Festlegen von Tokenwerten finden Sie unter OEM-Tokenwerte angeben.

OEM-Tokenwerte angeben

Legen Sie zum Angeben von Tokenwerten das entsprechende Attribut im Stil OemStyle auf den erforderlichen Wert.

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

OEM-Werte aktivieren

Damit Apps auf die vom OEM bereitgestellten Tokenwerte zugreifen können, müssen OEMs zuerst das Überschreiben der Tokenwerte, indem du den booleschen Wert enable_oem_tokens auf true konfigurierst.

Werte von RRO-Tokens

Ähnlich wie Tokenwerte in OemStyle können mit RROs die , um alternative Tokenwerte bereitzustellen.

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

RROs sollten die Attribute der gemeinsam genutzten Bibliothek für den Stil festlegen, indem Sie die gemeinsam genutzte Bibliothek angeben Namen.

Letztes Laden konfigurieren

Bei Systemen, die die OEM-Implementierung einer gemeinsam genutzten Tokenbibliothek enthalten, muss das System konfiguriert werden. um die gemeinsam genutzte Bibliothek nach den App-Klassen zu laden. Geben Sie dazu den Namen der Bibliothek an. (com.android.oem.tokens) in config_sharedLibrariesLoadedAfterApp Konfiguration auf dem System. Wenn Sie Zugriff auf Google Automotive Services (GAS) haben, wird dies als Anforderung.

<!-- 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>

Best Practices

Im Folgenden werden Best Practices für die OEM-Tokenbibliothek beschrieben.

Flexible Updatestrategie aktivieren

Mit den folgenden Strategien können Sie in Bezug auf Updates flexibel arbeiten.

Vom OEM gemeinsam genutzte Bibliothek

Da vom System freigegebene Bibliotheken auf System-Images vorinstalliert sein müssen, müssen die Geräte entweder oder die Bibliothek muss im Rahmen eines Over-the-Air-Updates (OTA) hinzugefügt werden (um zu erfahren, finden Sie unter OTA-Updates. Das Hinzufügen einer Stub-Implementierung einer OEM-Überschreibung einer gemeinsam genutzten OEM-Token-Bibliothek auf einem System-Image ermöglicht das Update einer voll funktionsfähigen Implementierung auf Geräte mit einem ohne dass ein Onlinereisebüro erforderlich ist.

RROs der gemeinsam genutzten Bibliothek

Auch wenn RROs nicht als System-Apps installiert werden müssen, das gewünschte Updateverhalten.

  • Automatische App-Updates, wenn Nutzer nicht angemeldet sind
  • Können nicht vom Nutzer deinstalliert werden (Nutzer können nur Updates deinstallieren).