原始設備製造商 (OEM) 設計權杖

原始設備製造商 (OEM) 設計權杖是 Android Automotive OS (AAOS) 的 質感設計 有些人會將 Cloud Storage 視為檔案系統 但實際上不是不同於行動裝置的符記值採用演算法或使用者選取方法,原始設備製造商 (OEM) 應指定 設計符記值設計符記代表不斷重複的設計決策 設計系統的視覺風格,並以容易理解的名稱取代靜態值。符記 類似於 Material Design 系統定義的參數。

原始設備製造商 (OEM) 權杖程式庫

原始設備製造商 (OEM) 設計權杖是透過原始設備製造商 (OEM) 權杖程式庫參照,其中包含 如圖 1 所示

圖 1. 原始設備製造商 (OEM) 權杖程式庫元件。

靜態資料庫

原始設備製造商 (OEM) 權杖程式庫的靜態程式庫元件,可協助您存取權杖值,例如 後面。

  • 提供 API,用於存取權杖的 OEM 值。
  • 允許選擇覆寫包含 OEM 值的主題權杖參照。

共用資料庫

共用資料庫元件負責定義下列項目:

  • 程式庫名稱。
  • 用於啟用 OEM 權杖值的布林值啟用選項。
  • 提供 OEM 權杖值的樣式。

為了容納這個共用程式庫元件的 OEM 擁有權 (包括原始設備製造商 (OEM) 定義的套件) 名稱,原始設備製造商 (OEM) 可以建立共用程式庫實作的覆寫值。

圖 2. 覆寫共用程式庫實作。

原始設備製造商 (OEM) 共用資料庫

共用程式庫元件的 OEM 覆寫設定可讓 OEM 擁有程式庫, 也能維持與原始設備製造商 (OEM) 權杖程式庫中其他元件的相容性 由原始設備製造商 (OEM) 設定的套件名稱和簽名,同時保留共用的 未修改的內容庫。

共用程式庫的覆寫值可定義如下:

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

如要設定符記值,請參閱指定原始設備製造商 (OEM) 符記值

原始設備製造商 (OEM) 共用程式庫自訂設定

為了支援權杖值的各種配置 (例如模型或硬碟模式差異), 原始設備製造商 (OEM) 可利用執行階段指定原始設備製造商 (OEM) 共用資料庫,為權杖提供動態值 資源疊加層 (RRO)。詳情請參閱: 在執行階段變更應用程式資源的值

如要設定符記值,請參閱指定原始設備製造商 (OEM) 符記值

指定原始設備製造商 (OEM) 權杖值

如要指定符記值,請將樣式 OemStyle 中的對應屬性設為 必要值

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

為確保應用程式可以存取 OEM 提供的權杖值,原始設備製造商 (OEM) 必須先選擇覆寫預設值 藉此將 enable_oem_tokens 布林值設為 true

RRO 權杖值

和在 OemStyle 中設定符記值的方式類似,RRO 可用來修改 樣式,用於提供替代符記值。

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

RRO 應指定共用資料庫,為樣式設定共用資料庫屬性 名稱。

設定上次載入

如果系統包含原始設備製造商 (OEM) 實作權杖共用程式庫,則須設定系統 在應用程式類別之後載入共用程式庫方法是加入程式庫名稱 在config_sharedLibrariesLoadedAfterApp (com.android.oem.tokens) 以及系統中的設定如果你可以使用 Google Automotive 服務 (GAS),系統會強制執行 才能正常運作

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

最佳做法

以下提供 OEM 權杖程式庫的最佳做法。

啟用彈性更新策略

請參閱下列策略,確保您能靈活地因應更新項目。

原始設備製造商 (OEM) 共用資料庫

由於需要在系統映像檔上預先安裝系統共用程式庫,裝置必須 與資料庫或程式庫一起新增無線更新 (OTA),以便學習 請參閱 OTA 更新)。 但在 系統映像檔可以為完整運作實作的更新檔推送至裝置 且不需要透過網路旅行社。

共用資料庫 RRO

雖然沒有必須安裝 RRO 做為系統應用程式,但這樣做可以 更新使用者可能想要的更新行為

  • 在使用者未登入的情況下自動更新應用程式。
  • 使用者無法解除安裝 (使用者只能解除安裝更新)。