原始設備製造商 (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:
更新外掛程式實作項目,以便使用最新版本的
car-ui-lib-plugin-apis
。如要取得最新版本 (1.2.0 以上),請參閱 Google 的 Maven 存放區。更新外掛程式實作項目,以便實作
PluginFactoryOEMV4
介面。當元件由 OEM 外掛程式實作時,這項變更需要執行下列步驟。更新以下項目的 OEM 實作方式:工具列,以實作
ToolbarControllerOEMV2
。內容清單項目,用於擴充
ContentListItemOEMV2
。IME 搜尋結果處理,以擴充
ImeSearchInterfaceOEMV2
。
更新應用程式,以便使用最新版本的 Car UI Library。
如果未套用這項更新,會發生什麼情況?
如果未為 OEM 外掛程式完成本頁提供的步驟,經過去除糖化的應用程式 (例如 Google Automotive Services (GAS)) 就無法載入 Car UI Library 外掛程式的實作項目,且不會透過外掛程式機制套用 OEM 自訂設定。
Car UI 程式庫的現有 RRO 自訂項目不會受到這個問題的影響,並且會照常執行。