便宜网站制作公司,网站建设与维护实训总结,体检中心 网站建设方案,广东h5网站建设一、模块主要成员
CarServiceHelperService
SystemServer 中专门为 AAOS 设立的系统服务#xff0c;用来管理车机的核心服务 CarService。该系统服务的具体实现在 CarServiceHelperServiceUpdatableImpl
CarService
Car模块核心服务APP#xff0c;Android 13版本开始分为…一、模块主要成员
CarServiceHelperService
SystemServer 中专门为 AAOS 设立的系统服务用来管理车机的核心服务 CarService。该系统服务的具体实现在 CarServiceHelperServiceUpdatableImpl
CarService
Car模块核心服务APPAndroid 13版本开始分为两个一个是掌管 CarService 服务类的 builtin app源码在packages/services/Car/service-builtin/一个是拥有具体实现和大量 Service 的 updatable app源码在packages/services/Car/service/在系统中它是在/system/priv-app/CarService/CarService.apk
Car-lib(Car API)
Android 车机里提供给系统使用汽车相关功能的专用接口源码在packages/services/Car/car-lib/它会编译到 android.car.jar 中其中包括常用的 Car、CarPowerManager、CarSettings 等。
Car APPs
AAOS 专为汽车设计的系统app目录在packages/apps/Car/。例如面向 Car 的 SystemUI、Launcher、Settings等。
二、Car模块内部交互机制
下面用一张图以 CarInputService 和 CarpropertyService 演示说明 三、总结
Car 相关组件所属进程作用CarServiceHelperServiceSystemServer管理 Car Serivce 的系统服务CarServicebuiltin appCar 核心服务updatable appCar 核心服务的具体实现Car-libandroid.car.jarCar API SDKCar AppsLauncher 等Car 专门设计的一系列 App
SystemServer 进程在系统启动的时候发现 OS 具备 Automotive 的 feature则启动 CarServiceHelperService 系统服务并交由 CarServiceHelperServiceUpdatableImpl 实际负责和 CarService 的绑定CarService 的 builtin app 由父类 ServiceProxy 完成中转即反射出 updatable app 中 CarServiceImpl 实例CarServiceImpl 的初始化将构建 ICarImpl 实例并构建内部的一堆具体服务 CarServiceBase比如负责输入的 CarInputService 、负责车辆属性的 CarPropertyService 等这些具体服务通过 HalServiceBase 和 VehicleHal 进行交互比如调度输入事件的 InputHalService、读写/转换车辆属性的 PropertyHalService 等后续的交给 VehicleHal 通过 HIDL 和 HAL 层交互其他 Apps 可以通过 Car lib 提供的 Car API 获取 CarService 中的服务接口即 ICarImplICarImpl 通过启动时候注册的服务名称和 CarServiceBase 实例对照表向 Apps 返回对应的接口实例比如控制、监听输入的 CarInputManager、读写车辆属性的 CarPropertyManager其他 Apps 拿到这些 Manager 接口之后像 AOSP 中使用 ActivityManager 等接口一样通过 AIDL 和 CarService 进行交互