附錄 C,Car UI 外掛程式 API 的最低相容版本

OEM 預計將盡快切換到最新版本的car-ui-lib-plugin-apis (1.2.0 或更高版本)。理想情況下,OEM 不應發布任何使用舊版的外掛程式。

為什麼這次更新?

透過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. 更新應用程式以使用最新版本的汽車 UI 庫。

如果不套用此更新會發生什麼情況?

如果未針對 OEM 外掛程式完成本頁提供的步驟,脫糖應用程式(例如 Google 汽車服務 (GAS))將無法載入汽車 UI 庫插件的實現,並且不會透過插件機制套用任何 OEM 自訂設定。

Car UI 庫的現有 RRO 自訂不受此問題影響,並繼續照常執行。