汽車使用者介面 (UI) 工具包提供了一個 UI 開發框架,您可以使用它來確保汽車中的應用程式(Google 應用程式以及系統和供應商應用程式)能夠實現:
資訊娛樂 UI/UX 自我一致性。自我一致性是使用者根據先前與相同系統互動的經驗來預測如何與資訊娛樂系統互動的能力。
定制。 OEM 可以修改系統的外觀,以最佳地將功能與車輛內裝和硬體整合。
要了解有關 Car UI 庫整合的更多信息,請參閱以下頁面:
- 將 Car UI 庫整合到應用程式中
- 自訂應用程式
- 新增自訂字體
- 自訂汽車 UI 首選項
- CarUI清單項目
- 自訂 CarUiRecyclerView
- 排除運行時資源覆蓋問題
- 發行說明
- 附錄 A,與 RRO 合作
- 附錄 B,客製化指南
關於汽車 UI 庫
Car UI 庫是一個靜態連結庫,它提供了一組可用於實現的元件和資源:
- 系統和 OEM 應用程式 (Gerrit)
- Android 汽車 (AAOS) 應用
該庫充當:
自訂 API 通過:
- 定義可以自訂哪些資源,包括顏色、尺寸和繪圖。
- 將資源視為具有向後相容保證的 API。
- Android 9 和 Android 10 中提供的短期解決方案與目前正在開發的長期解決方案之間的相容層。
資源疊加
Android 目前提供了多種應用自訂的方法,而無需對受影響的子系統和應用程式進行額外的工作:
建置時覆蓋。此自訂在 Android 系統映像建置時應用。在建置過程中,系統中的所有應用程式都會從其
res
資料夾和目標 makefile 中定義的overlay
資料夾接收資源。動態運行時覆蓋(動態 RRO)。這些特殊的 APK僅包含資源和清單文件,以指示它們將影響哪個目標 APK 。動態 RRO 的編譯和部署獨立於系統映像,並且可以開啟和關閉。當系統對特定應用程式執行資源查找時,系統也會檢查是否有任何針對該應用程式的 RRO,以及 RRO 是否包含同名資源。
靜態運行時覆蓋(靜態 RRO)。在結構上與動態 RRO 類似,它們始終處於開啟狀態,這意味著如果不執行完整的系統映像升級,則無法卸載或更新它們。靜態 RRO 充當建置時和動態運行時所覆蓋的中間體。
除了 UI 元件之外,Car UI 庫還提供了一種機制,可以使用一組靜態 RRO直接將資源(靜態連結到每個應用程式)與 OEM 資源疊加。 OEM 必須提供一個包含其資源覆寫和目標應用程式清單的資料夾。在建置過程中,Car UI 庫基礎設施將使用此資訊為每個目標應用程式產生靜態 RRO。
![汽車 UI 庫元件](https://source.android.google.cn/static/docs/automotive/images/car_ui_library_01.png?authuser=8&hl=zh-tw)
圖1 。汽車 UI 庫元件
在上圖中:
綠色的。 OEM 提供的定制,建置時和運行時覆蓋資源的混合。
黃色的。 Car UI 庫提供的支持,包括可覆蓋資源、元件(Java 程式碼)和產生必要 RRO 的建置支援。
藍色的。可自訂的目標包括使用 Car UI 庫自訂UI 元素的框架、系統應用程式、供應商應用程式和 GAS 應用程式。