附錄 C:Car UI Plugin API 的最低相容版本

原始設備製造商 (OEM) 應盡快改用最新版的 car-ui-lib-plugin-apis (1.2.0 以上版本)。理想情況下,原始設備製造商不應提供任何使用舊版的外掛程式。

更新原因

透過 Java 8+ API 脫糖支援,舊版 Android 可支援 Java 8+ API。缺少 API 的實作項目會編譯至應用程式,而 APK 的位元組碼會重新編寫,以便參照實作項目,而非平台上的程式庫。

從 Car UI 程式庫外掛程式載入 UI 元件的 OEM 實作內容,需要參照 car-ui-lib-plugin-apis 介面定義的方法。這些方法參照是在執行階段由應用程式建立至 Car UI 程式庫外掛程式,且預期在應用程式和外掛程式實作中,方法簽章會相同。

由於特定最低 SDK 級別的要求,某些建構系統會一律啟用 API 去除糖化。car-ui-lib-plugin-apis 介面的去糖化方法簽章可能與未去糖化的原始設備製造商 (OEM) 外掛程式實作不符,導致外掛程式無法載入。

因此,使用 Google 內部建構系統編譯的部分 GAS 應用程式與 Car UI 程式庫外掛程式不相容。因此,我們已移除所有需要脫糖的 Java 8 (以上版本) API 依附元件。這項變更需要更新 car-ui-lib-plugin-apis 定義的介面 API。

OEM 外掛程式所需的步驟

請按照下列步驟更新 API:

  1. 更新外掛程式實作項目,以便使用最新版本的 car-ui-lib-plugin-apis。如要取得最新版本 (1.2.0 以上),請參閱 Google 的 Maven 存放區

  2. 更新外掛程式實作項目,以便實作 PluginFactoryOEMV4 介面。當元件由 OEM 外掛程式實作時,這項變更需要執行下列步驟。更新以下項目的 OEM 實作方式:

    1. 工具列,以實作 ToolbarControllerOEMV2

    2. 內容清單項目,用於擴充 ContentListItemOEMV2

    3. IME 搜尋結果處理,以擴充 ImeSearchInterfaceOEMV2

  3. 更新應用程式,以便使用最新版本的 Car UI Library。

如果未套用這項更新,會發生什麼情況?

如果未為 OEM 外掛程式完成本頁提供的步驟,經過去除糖化的應用程式 (例如 Google Automotive Services (GAS)) 就無法載入 Car UI Library 外掛程式的實作項目,且不會透過外掛程式機制套用 OEM 自訂設定。

Car UI 程式庫的現有 RRO 自訂項目不會受到這個問題的影響,並且會照常執行。