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:
更新插件實作以使用最新版本的
car-ui-lib-plugin-apis
。若要取得最新版本(1.2.0 或更高版本),請參閱Google 的 Maven 儲存庫。更新插件實作以實現
PluginFactoryOEMV4
介面。當元件由 OEM 外掛程式實作時,此變更需要執行以下步驟。更新 OEM 實施:工具列,用於實作
ToolbarControllerOEMV2
。內容列表項,擴充
ContentListItemOEMV2
。IME 搜尋結果處理,擴展
ImeSearchInterfaceOEMV2
。
更新應用程式以使用最新版本的汽車 UI 庫。
如果不套用此更新會發生什麼情況?
如果未針對 OEM 外掛程式完成本頁提供的步驟,脫糖應用程式(例如 Google 汽車服務 (GAS))將無法載入汽車 UI 庫插件的實現,並且不會透過插件機制套用任何 OEM 自訂設定。
Car UI 庫的現有 RRO 自訂不受此問題影響,並繼續照常執行。