Android O CarService

本文基于Android O源码。
主要介绍Android的CarService。


架构

Android Automative的整体架构如下图所示:

车载 HAL 与 Android Automotive 架构

从这幅图中我们可以看出,Android Automative是在原先Android的系统架构上增加了一些与车相关的(图中中间部分)模块。
包括:

  • Car App:包括原始设备制造商(OEM)和第三方开发的App。
  • Car API:提供给汽车App特有的接口。包含 CarHvacManager 、 CarSensorManager 和CarVendorExtensionManager等 API。如需详细了解受支持的 API,请参阅 /platform/packages/services/Car/car-lib,是car相关的API集合,底层是由CarService实现。
  • Car Service:系统中与车相关的服务。位于 /platform/packages/services/Car/service,CarService主要是基于CarProperty实现Vechile相关的一些策略。
  • Vehicle Network Service:汽车的网络服务。通过内置安全机制控制车载 HAL。仅限访问系统组件(第三方应用等非系统组件需使用 Car API)。原始设备制造商 (OEM) 可以通过 vns_policy.xml 和 vendor_vns_policy.xml 控制访问权限。位于 /platform/packages/services/Car/vehicle_network_service/;要查看用于访问车辆网络的库,请参阅 /platform/packages/services/Car/libvehiclenetwork/。这部分代码在8.1中已经给谷歌删减了。
  • Vehicle HAL:汽车的硬件抽象层描述。定义 OEM 可以实现的车辆属性的接口。包含属性元数据(例如,车辆属性是否为 int 以及允许使用哪些更改模式)。位于 hardware/libhardware/include/hardware/vehicle.h。要了解基本参考实现的相关信息,请参阅 hardware/libhardware/modules/vehicle/。

有关更多详情,请参阅车辆属性


Car App

/car_product/build/car.mk 这个文件中列出了汽车系统中专有的模块:

# Automotive specific packages
PRODUCT_PACKAGES += \
    vehicle_monitor_service \
    CarService \
    CarTrustAgentService \
    CarDialerApp \
    CarRadioApp \
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值