Android Automotive OS知识体系
Posted xhBruce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Automotive OS知识体系相关的知识,希望对你有一定的参考价值。
android Automotive OS知识体系
1、简介
Android Automotive OS (AAOS) 是汽车制造商在汽车中打造的信息娱乐平台。驾驶人员可以直接将兼容的媒体应用下载到汽车中,无需使用手机,并使用专为车载显示屏设计的界面。
什么是 Android Automotive?
Automotive 借助各种总线拓扑,很多汽车子系统都可以实现互连以及与车载信息娱乐 (
IVI
) 系统的连接。不同的制造商提供的确切总线类型和协议之间有很大差异(甚至同一品牌的不同车型之间也是如此),例如控制器局域网 (CAN) 总线、区域互连网路 (LIN) 总线、面向媒体的系统传输 (MOST) 总线以及汽车级以太网和 TCP/IP 网络(如 BroadR-Reach)。
Android Automotive 的硬件抽象层 (HAL) 为 Android 框架提供了一致的接口(无需考虑物理传输层)。此车载 HAL 是开发 Android Automotive 实现的接口。
系统集成商可以将特定于功能的平台 HAL 接口(如 HVAC)与特定于技术的网络接口(如 CAN 总线)连接,以实现车载 HAL 模块。典型的实现可能包括运行专有实时操作系统 (RTOS) 的专用微控制器单元 (MCU),该微控制器单元用于 CAN 总线访问或类似操作,可通过串行链路连接到运行 Android Automotive 的 CPU。除了专用 MCU,还可以将总线访问作为虚拟 CPU 来实现。只要实现符合车载 HAL 的接口要求,每个合作伙伴都可以选择适合硬件的架构。
1.1 Android Automotive 和 Android
了解 Android Automotive 与整个 Android 生态系统之间的关系至关重要:
- Android Automotive 就是 Android 平台。Android Automotive 并非 Android 的分支或并行开发版本。它与手机和平板电脑等设备上搭载的 Android 使用相同的代码库,位于同一个存储区中。它基于开发时间逾 10 载的强大平台和功能集构建而成,因此能够利用现有的安全模型、兼容性计划、开发者工具和基础架构,同时继续保持较高的可定制性和可移植性,完全免费提供并且开源。
- Android Automotive 扩展了 Android 平台。在将 Android 打造为功能完善的信息娱乐平台的过程中,我们增加了对汽车特定要求、功能和技术的支持。Android Automotive 将是一个一站式全栈车载信息娱乐平台,就像现在的 Android 系统之于移动设备一样。
十多年来,运营商、原始设备制造商 (OEM) 和开发者一直在使用 Android 平台打造优质的设备、应用和体验。现在,Android Automotive 将 Android 的强大功能引入汽车之中,让汽车制造商得以打造满足数字时代需求的强大信息娱乐系统。
1.2 Android Automotive 和 Android Auto
两者的命名方式可能有点让人迷惑不解。下面介绍了它们之间的区别:
- Android Auto 是一个基于用户的手机运行的平台,可通过 USB 连接将 Android Auto 用户体验投射到兼容的车载信息娱乐系统。Android Auto 支持专为车载用途而设计的应用。如需了解详情,请访问 developer.android.com/auto。
- Android Automotive 是直接基于车载硬件运行的操作系统和平台。它是一个可定制程度非常高的全栈开源平台,可为信息娱乐体验提供强大的技术支持。Android Automotive 支持专为 Android 打造的应用,以及专为 Android Auto 打造的应用。
1.3 架构
车载 HAL 是汽车与车辆网络服务之间的接口定义:
- Car API: 内有包含
CarSensorManager
在内的 API。如需详细了解受支持的 API,请参阅/platform/packages/services/Car/car-lib
。 - CarService: 位于
/platform/packages/services/Car/
。 - 车载 HAL: 用于定义 OEM 可以实现的车辆属性的接口。包含属性元数据(例如,车辆属性是否为 int 以及允许使用哪些更改模式)。位于
hardware/libhardware/include/hardware/vehicle.h
。如需了解基本参考实现,请参阅hardware/libhardware/modules/vehicle/
。
2、车载信息娱乐 (IVI
) 系统
其他请查看 Android 知识体系,关于基于Android的车载娱乐系统单独在里记录 Android Automotive OS知识体系
2.1 VehicleService
编号 | 文档 | 说明 |
---|---|---|
1 | 【IVI】VehicleService启动 | VehocleHal相关服务 |
2 | 【IVI】车载设备硬件抽象层VHAL | 车载属性介绍,set\\get 简要流程 |
2.2 CarServiceHelperService
编号 | 文档 | 说明 |
---|---|---|
1 | 【IVI】CarServiceHelperService启动 | CarServiceHelperService车载服务启动入口 |
2.3 CarService
编号 | 文档 | 说明 |
---|---|---|
1 | 【IVI】CarService启动 | CarService车载相关服务创建并初始化,实质处理类ICarImpl |
2 | 【IVI】Car.java获取Car相关服务和对应管理器 | 获取Car相关服务 |
3、虚拟机AVD
【IVI】Automotive虚拟机没有System image
以上是关于Android Automotive OS知识体系的主要内容,如果未能解决你的问题,请参考以下文章
Android Automotive OS | Automotive Ethernet
Android Automotive OS | Automotive Ethernet
Android Automotive OS | Instrument Cluster