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