Android Automotive OS (AAOS) 软件定义型车辆 (SDV) 提供模块化、面向服务的架构 (SOA),专为下一代汽车计算领域(信息娱乐之外)而设计。AAOS SDV 平台基于轻量级、快速启动的无头 Android 基础(SDV Core,类似于 Microdroid)构建,可在隔离的虚拟机 (VirtIO) 中运行,以缩短启动时间并减少内存占用,同时使用 SOME/IP、VSIDL 服务软件包和车载 HAL (VHAL) 集成等协议互连车辆服务。
例如,当用户靠近时,SDV 会快速启动车辆。在某些配置中,当用户开始与车辆互动时,SDV 还会显示集群仪表的内容。
与 Android 信息娱乐系统 (AAOS IVI) 集成
SDV 旨在与 Android Automotive OS 车载信息娱乐 (AAOS IVI) 系统紧密集成。这样便可在两个系统之间实现内置、安全且高级的通信。
SDV 以虚拟机的形式运行
该架构旨在作为操作系统在支持 VirtIO 的 Hypervisor 上的虚拟机中运行。这有助于在云端进行测试和集成。该架构还可在同一 CPU 上提供多个虚拟机以实现隔离,并采用独立于平台的设计来降低集成成本。
跨虚拟机互连 SDV 服务
SDV 计划的目标之一是降低集成第三方软件的成本。SDV 的一个主要组成部分是在一个或多个虚拟机 (VM) 之间无缝互连服务。
在 Android 17 (26Q2) 及更高版本中,服务开发者使用车辆服务接口定义语言 (VSIDL, .vsidl) 和协议缓冲区 (.proto) 以声明方式定义 RPC 接口和发布-订阅主题,vsidlc 编译器会将这些内容转换为客户端库绑定。这种与传输无关的设计使中间件客户端库能够抽象出进程间和虚拟机间传输(包括 VirtIO 套接字 [vsock]、以太网、Binder、gRPC 和快速消息队列 [FMQ]),同时还支持外部电子控制单元 (ECU) 协议,例如 SOME/IP (ISomeIpStack)。
Google 开发的汽车组件
为了测试 SDV Automotive 用例,Google SDV 团队正在开发多个常见的汽车组件。这些功能包括服务编排、车辆电源模式管理、SOME/IP 集成和遥测。
遥测支持
为了满足 OEM 的基本要求,需要设计完善的遥测系统来监控车辆、改进系统行为,并实现某些用例的创收。SDV 架构与车辆遥测技术相集成。遥测的关键目标是收集任何车辆数据,而无需更新。
遥测定义了一种新的语言(采用 protobuf 设计),用于表达数据收集场景。该语言定义了从 SOA 服务收集数据、在边缘处理数据,以及为遥测应用创建要上传的指标报告。遥测包括一个云后端,用于在将指标配置发送到车辆之前生成并验证这些配置。
Google Cloud 集成,适用于软件开发
SDV 的一个优势在于,无论是否使用专门的本地硬件,您都可以直接在云端模拟和开发 SDV 软件。SDV 使用现有的 Google 技术,例如 Cuttlefish。SDV 与其同级团队合作,验证对多虚拟机拓扑等特殊需求的支持。
在将新软件更新部署到车辆之前,此技术还支持在 Google Cloud 的基础架构中进行持续集成和持续交付 (CI/CD)。
启用车辆仪表界面
SDV 通过在大约一到两秒内启动,启用集群仪表用户界面。显示安全提供了一个与安全相关的功能界面。例如,车速表和指示灯等汽车仪表。