1. 课程导入

Android Automotive OS(AAOS)不是把手机 Android 简单搬进车机,而是把 Android 框架、车辆总线、硬件抽象、系统安全与整车开发流程重新组织成一套可量产交付的工程体系。本课程面向已经具备 Android 基础或车载软件基础的工程师,目标不是停留在“能编译、能启动”,而是建立从需求、架构、集成、验证到量产维护的完整工程视角。学完本课程,你应当能够看懂整车电子电气架构中的座舱域控制器位置,理解 AAOS 与 Vehicle HAL、Car Service、应用层之间的调用链,能够独立完成系统镜像集成、车辆属性配置、信号联调、性能与稳定性问题定位,并具备与整车、硬件、测试、供应商协同交付的能力。

一、核心概念:AAOS 量产集成的四个层次

AAOS 量产集成可以拆成四个相互约束的层次。第一层是系统层,包括 Android 构建系统、分区布局、启动链、SELinux、OTA 与恢复机制;第二层是车辆层,核心是 Vehicle HAL 与 Car Service,负责把 CAN、LIN、以太网、SomeIP 等车辆信号抽象为 Android 可访问的属性;第三层是应用与交互层,包括 Car App Library、Launcher、Settings、HVAC、媒体与导航等;第四层是整车交付层,涉及诊断、标定、产线刷写、法规认证与售后升级。四层之间不是简单堆叠,而是通过属性 ID、权限、生命周期和实时性要求相互咬合。

关键认知:AAOS 集成工程师的核心工作,不是“改 Android 源码”,而是“让 Android 的抽象模型与整车信号、硬件时序、安全策略对齐”。

二、整体框架:从车辆信号到应用可见属性

下图给出 AAOS 量产集成的整体数据流与模块关系。车辆信号从 MCU/ECU 经总线进入座舱域控制器,由 Vehicle HAL 的厂商实现转换为 Android 属性,再经 Car Service 的 CarPropertyManager 暴露给应用。应用不直接读 CAN 报文,而是通过属性 ID、区域、速率和权限访问车辆能力。集成工程师需要同时关注信号矩阵、HAL 实现、属性配置、权限策略和诊断接口。

AAOS 量产集成整体框架:车辆信号 → 属性 → 应用 整车信号源 CAN / LIN / 以太网 SomeIP / 硬线 座舱域控制器 MCU / SoC / 网关 信号路由与唤醒 Vehicle HAL 属性 ID / 区域 / 速率 厂商实现与回调 Car Service CarPropertyManager 权限与生命周期 Android Framework 与 Car App Library Launcher / Settings / HVAC / 媒体 / 导航 / 语音 量产集成关键活动 • 信号矩阵与属性映射 • 分区与镜像刷写 • SELinux 与权限策略 • 诊断、OTA 与产线标定 验证与质量门禁 • 启动时间与 ANR/Crash • 信号延迟与丢帧统计 • 功耗、温升与唤醒 • CTS/VTS 与整车路试 岗位能力模型 • Android 系统与构建 • 车辆总线与信号 • 集成调试与问题定位 • 跨团队协同与交付

三、方法流程:一次典型的量产集成闭环

量产集成不是线性流程,而是“需求—设计—集成—验证—回归”的闭环。下面给出一个可复用的工作流,适用于新车型座舱项目或平台化迭代。

  1. 需求与信号矩阵对齐:从整车配置表提取功能清单,确认每个功能对应的信号、属性 ID、区域、更新速率和失效策略。
  2. 系统与分区设计:确定 boot、system、vendor、product、odm 等分区布局,规划 A/B 升级与回滚策略。
  3. Vehicle HAL 与 Car Service 配置:实现厂商 HAL,配置 CarPropertyConfig,设置权限与访问级别。
  4. 应用集成与交互联调:接入 Car App Library,验证 HVAC、媒体、导航、语音等场景的端到端时延。
  5. 验证与质量门禁:执行启动、稳定性、功耗、信号一致性、CTS/VTS 与整车路试。
  6. 产线与售后交付:完成刷写、标定、诊断、OTA 和售后升级包验证。

建议在项目早期建立“信号—属性—应用”三列映射表,并把它作为集成、测试和问题定位的唯一事实来源。很多联调问题不是代码错误,而是映射表版本不一致。

四、案例场景:HVAC 温度调节的端到端链路

以“用户在中控屏调节主驾温度”为例。应用调用 CarPropertyManager.setProperty,传入属性 ID HVAC_TEMPERATURE_SET、区域 SEAT_ROW_1_LEFT 和目标值。Car Service 校验权限后下发到 Vehicle HAL,HAL 将值转换为 CAN 报文,经座舱域控制器发送到空调 ECU。空调 ECU 执行后回传实际温度,HAL 再以属性变更事件通知应用刷新 UI。集成工程师需要关注:属性 ID 是否与信号矩阵一致、区域定义是否正确、更新速率是否满足 HMI 要求、失败时是否有降级提示。

// 应用侧读取与设置车辆属性(示意)
CarPropertyManager mgr = (CarPropertyManager) car.getCarManager(Car.PROPERTY_SERVICE);
float target = 24.0f;
mgr.setProperty(
    VehiclePropertyIds.HVAC_TEMPERATURE_SET,
    VehicleAreaSeat.SEAT_ROW_1_LEFT,
    target
);

// 监听实际温度变化
mgr.registerCallback(callback,
    VehiclePropertyIds.HVAC_TEMPERATURE_SET,
    CarPropertyManager.SENSOR_RATE_ONCHANGE);

五、岗位能力模型与常见误区

AAOS 量产集成工程师的能力可以分成“系统、车辆、集成、协作”四个维度。下表给出能力项与典型产出,便于自我评估和团队分工。

能力维度 关键能力项 典型产出
Android 系统 构建系统、分区、启动链、SELinux、OTA 可刷写系统镜像、升级包、启动日志分析
车辆与信号 CAN/LIN/以太网、信号矩阵、Vehicle HAL 属性映射表、HAL 实现、信号联调报告
集成与调试 logcat、dumpsys、perfetto、CANoe、示波器 问题定位报告、性能与稳定性数据
协作与交付 需求评审、供应商接口、测试门禁、产线支持 集成计划、交付清单、量产问题闭环

常见误区一:把 AAOS 当成手机 Android,忽视车辆信号的实时性、区域性和失效安全要求。常见误区二:只关注应用层 UI,不追踪属性到 HAL 再到总线的完整链路,导致问题在集成后期集中爆发。常见误区三:缺少版本化映射表和回归基线,每次升级都靠“重新联调”,量产节奏被拖垮。

本课程后续将围绕系统构建、Vehicle HAL、Car Service、应用集成、性能优化、稳定性、诊断与 OTA 等主题展开。你在学习过程中应始终带着三个问题:这个模块在整车链路中的位置是什么?它的输入输出和约束条件是什么?如果它失效,整车会表现为什么现象?把这三个问题贯穿始终,才能真正具备量产集成工程能力。