Android Automotive OS介绍

什么是Android Automotive OS?

Android Automotive OS (AAOS) 是 Android 的一个版本,旨在在车载主机中运行并提供“车载信息娱乐”(IVI) 系统。在现代车辆中,IVI 系统控制加热和通风、提供音频流、显示后视(和侧视)摄像头、提供导航……以及许多其他功能。

AAOS 的核心是 Android 开源项目 (AOSP) 的一部分,由于它是开源的,因此任何人都可以使用代码来创建 IVI 产品。但不要被这个想法冲昏了头脑。 AOSP 中的代码只是最基本的,有一个非常基本的主屏幕和一些用于音乐、加热控制等的“演示品质”应用程序。汽车制造商在推出可行的产品之前还有很多工作要做。

当然,谷歌有一个解决方案。他们许可了一组称为 Google Automotive Services 或 GAS 的专有 API。这类似于移动世界中的谷歌移动服务 (GMS):GAS 提供 Play 商店、谷歌导航和谷歌助手(用于语音激活和免提驾驶)等。 2020 年 3 月,首辆搭载 AAOS 的汽车是 Polestar 2,其中包括 GAS 和全套 Google 服务。但是,GAS 在汽车界有点争议,因为谷歌许可证意味着失去控制权,更不用说与谷歌共享汽车制造商宁愿保密的有价值的数据了。预计在不久的将来会看到没有 GAS 的 AAOS 版本。

请注意,Google 有另一个名称相似的产品:Android Auto。这是完全不同的野兽。 Auto 应用程序在普通的 Android 手机上运行,​​并使用 USB 或(最近的)WiFi 连接到主机。主机未运行 Android。在大多数情况下,它实际上运行的是由汽车制造商开发的嵌入式 Linux 操作系统。这个博客绝对不是关于 Android Auto

为什么选择 AAOS?

“为什么”总是一个更加复杂的问题。我的关注点是双重的

从汽车制造商的角度来看,AAOS 的吸引力在于降低了开发和维护成本。当今市场上的大多数汽车都有内部开发的 IVI 系统,或者与一级软件提供商合作开发。开发成本高且缓慢。另一方面,AAOS 是一种现成的解决方案,具有全套媒体编解码器、一套应用程序(如果您获得 GAS 许可)和出色的开发人员网络。此外,与了解 Qt 编程环境的 C++ 开发人员相比,雇用 Android 开发人员更容易(更便宜)

AAOS 也是客户的胜利。当前的 IVI 系统在可用性方面没有很好的声誉,而 AAOS 具有熟悉的 Android UX 和从应用商店安装新应用的能力。最后一点,这里的经验将取决于制造商是否获得了 GAS 许可。如果没有,可能还会有某种应用商店,只是不是完整的 Google Play 商店。

软件结构

AAOS 是普通 Android 的附加组件。主要组件是车辆 HAL、Car Service 和 Car Manager,如下图所示:
在这里插入图片描述
从底部开始,我们有电子控制单元 (ECU)。它们是车辆的一部分。他们监控和控制车辆的各个方面。它们连接到车辆总线,通常是 CAN 总线。

在车辆总线的 Android 端,我们有车辆硬件抽象层 (VHAL),它将来自总线的信号表示为车辆属性。 Android 12 中有超过 150 个预定义的“系统”属性。例如,有一个名为 PERF_VEHICLE_SPEED 的属性表示以米/秒为单位的速度。 OEM 可以添加自己的“供应商”属性。

Car Service 获取车辆属性并添加来自其他来源的信息,以创建一组对应用程序有用的服务。

应用程序不直接调用汽车服务。相反,他们调用实现了 android.car.* 包 (https://developer.android.com/reference/android/car/packages) 的 Car Manager 库。 AOSP 中有一些演示汽车应用程序,展示了如何使用 android.car 类。这些应用程序大多是系统应用程序,也就是说它们是由制造商编写并预装在车辆上的。他们可以访问低级功能,例如降低和升高侧窗。

扫描二维码关注公众号,回复: 14873102 查看本文章

提示:国内请访问 https://developer.android.google.cn/reference/android/car/packages

最后,我们有第三方 Auto 应用程序,您可以从 Play 商店或其他应用程序商店安装这些应用程序。他们可以进入的汽车部分非常有限,并且必须遵循指南以避免驾驶员分心。这些是流音乐、有声读物和导航之类的东西。有关更多信息,请查看 https://developer.android.com/training/cars/start

提示:国内请访问 https://developer.android.google.cn/training/cars

Automotive用户界面

AAOS 的设计目的是在驾驶时易于使用。它有一个简单的基于磁贴的 UI,带有大图标。这是 AOSP 12 的默认 UI 的屏幕截图,导航栏位于底部,状态栏位于顶部
在这里插入图片描述
导航栏上的图标是主页、电话、应用程序、HVAC 和通知。应用程序图标将您带到应用程序菜单,您可以在其中找到预安装的系统应用程序以及您自己安装的任何应用程序。左上角的齿轮带您进入简化的设置菜单,触摸右上角的用户图标可以让您说出谁在驾驶汽车。

您几乎可以肯定永远不会看到具有这种布局的实际车辆。这是鼓励汽车制造商标记自己的品牌和用户体验的地方。例如,Polestar 2 的实现与默认的非常不同。

结论

根据我的经验,似乎大多数汽车制造商都在将 AAOS 集成到他们的汽车中:AAOS 很快就会出现在您附近的车辆中。这将是一个学习曲线,不仅对汽车制造商来说,而且对 Android 开发人员来说也是如此,因为他们添加了功能来应对汽车环境。

猜你喜欢

转载自blog.csdn.net/CJohn1994/article/details/127273593