一、模塊主要成員
CarServiceHelperService?
SystemServer 中專門為 AAOS 設立的系統(tǒng)服務,用來管理車機的核心服務 CarService。該系統(tǒng)服務的具體實現(xiàn)在?CarServiceHelperServiceUpdatableImpl
CarService
Car模塊核心服務APP,Android 13版本開始分為兩個,一個是掌管 CarService 服務類的?builtin app,源碼在:packages/services/Car/service-builtin/,一個是擁有具體實現(xiàn)和大量 Service 的?updatable app,源碼在:packages/services/Car/service/;在系統(tǒng)中,它是在/system/priv-app/CarService/CarService.apk
Car-lib(Car API)
Android 車機里提供給系統(tǒng)使用汽車相關功能的專用接口,源碼在:packages/services/Car/car-lib/,它會編譯到 android.car.jar 中,其中包括常用的 Car、CarPowerManager、CarSettings 等。
Car APPs
AAOS 專為汽車設計的系統(tǒng)app,目錄在:packages/apps/Car/。例如面向 Car 的 SystemUI、Launcher、Settings等。
二、Car模塊內(nèi)部交互機制
下面用一張圖以 CarInputService 和 CarpropertyService 演示說明:文章來源:http://www.zghlxwxcb.cn/news/detail-827239.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-827239.html
?三、總結
Car 相關組件 | 所屬進程 | 作用 |
---|---|---|
CarServiceHelperService | SystemServer | 管理 Car Serivce 的系統(tǒng)服務 |
CarService | builtin app | Car 核心服務 |
updatable app | Car 核心服務的具體實現(xiàn) | |
Car-lib | android.car.jar | Car API SDK |
Car Apps | Launcher 等 | Car 專門設計的一系列 App |
- SystemServer 進程在系統(tǒng)啟動的時候發(fā)現(xiàn) OS 具備?Automotive?的 feature,則啟動 CarServiceHelperService 系統(tǒng)服務,并交由 CarServiceHelperServiceUpdatableImpl 實際負責和 CarService 的綁定
- CarService 的?builtin app?由父類 ServiceProxy 完成中轉(zhuǎn),即反射出?updatable app?中 CarServiceImpl 實例
- CarServiceImpl 的初始化將構建 ICarImpl 實例并構建內(nèi)部的一堆具體服務 CarServiceBase,比如負責輸入的 CarInputService 、負責車輛屬性的 CarPropertyService 等
- 這些具體服務通過 HalServiceBase 和 VehicleHal 進行交互,比如調(diào)度輸入事件的 InputHalService、讀寫/轉(zhuǎn)換車輛屬性的 PropertyHalService 等
- 后續(xù)的交給 VehicleHal 通過 HIDL 和 HAL 層交互
- 其他 Apps 可以通過?Car lib?提供的 Car?API 獲取 CarService 中的服務接口即 ICarImpl
- ICarImpl 通過啟動時候注冊的服務名稱和 CarServiceBase 實例對照表向 Apps 返回對應的接口實例,比如控制、監(jiān)聽輸入的 CarInputManager、讀寫車輛屬性的?CarPropertyManager
- 其他 Apps 拿到這些 Manager 接口之后,像 AOSP 中使用 ActivityManager 等接口一樣通過 AIDL 和 CarService 進行交互
到了這里,關于Android車載系統(tǒng)Car模塊架構鏈路分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!