1.Android系統(tǒng)啟動(dòng)流程
上圖中ActivityManagerService兵琳、SystemUI、Launcher流程都是在SystemServer中啟動(dòng)的瀑构,代碼路徑(platform/frameworks/base/services/java/com/android/server/SystemServer.java)
2.Car Service基本分析(官方文檔:https://source.android.google.cn/devices/automotive?hl=zh-cn)
2.1Car系統(tǒng)中專有的app和服務(wù)氛改,在(platform/packages/services/Car/car_product/build/car.mk)中定義
編好的app在系統(tǒng)中的安裝路徑:
3.空調(diào)應(yīng)用分析
3.1應(yīng)用分析
3.1.1入口尋找
從上圖可以看出恬口,空調(diào)界面的啟動(dòng)入口在SystemUI中,我們到SystemUI的res中尋找
根據(jù)car_ic_hvac找到應(yīng)用這個(gè)圖標(biāo)的引用
找到這個(gè)布局xml引用的地方
稍加分析弥锄,我們可以看出空調(diào)界面的啟動(dòng)是通過Intent;action=android.car.intent.action.TOGGLE_HVAC_CONTROLS的廣播發(fā)送
在通過搜索可以看出炉旷,這個(gè)廣播被(platform/packages/apps/Car/Hvac/src/com/android/car/hvac/HvacUiService.java)接收
在platform/packages/apps/Car/Hvac應(yīng)用中的HvacPanelController.java控制,界面是hvac_panel.xml
3.1.2分析乘客側(cè)空調(diào)溫度的調(diào)整過程
經(jīng)過分析叉讥,如下為調(diào)用service層的位置
繼續(xù)走
CarPropertyService實(shí)現(xiàn)了ICarProperty.Stub,實(shí)現(xiàn)了跨進(jìn)程的調(diào)用
重新make編譯
debug com.android.car進(jìn)程
3.1.3 HAL層目錄
platform/hardware/interfaces/automotive/vehicle/