Android Auto认证依据什么标准?条款解读

2026-09-29   •   orange

做车机的问 Android Auto 依据什么标准,常听到"按谷歌的要求"。这句话等于没说。要摊开依据,得先分清管的是哪一层——系统、连接、还是车里交互,三层文件根本不是同一批人写的。

一、先认准认证对象

1.管的是车机这一端,不是手机。手机端 Android Auto 的兼容随 GMS 合规一并购入,手机厂不用单独做一份车机类认证。

2.车机这边其实分两条路。

·一条是投屏:车机只当显示与音频终端,画面声音由手机算好投过来,后装主流走这条。

·另一条是车机本地跑车载安卓系统,行内叫 Android Automotive OS(AAOS)。它是独立于手机的车载操作系统,并非 Android Auto 的"原生方案";AAOS 车机可把 Android Auto 当内置应用,但两套认证不同,别混为一谈。

两条路要交的材料、要过的东西都不一样,走错第一步,后面时间白搭。

Android Auto认证依据什么标准?条款解读(图1)

二、系统层:兼容性定义文档与测试套件

1.只要设备自带安卓系统,就得对照兼容性定义文档。这份按安卓版本发布,写的是设备要达到哪些硬性行为才算"兼容的安卓设备"。

2.之配套的是兼容性测试套件。文档规定"应该什么样",套件负责"实际是不是这样",一读一测。

3.投屏车机不跑安卓,系统层这对文件与它无关,这点常被搞混;AAOS 车机用的是车载版兼容性定义文档与测试套件,和手机安卓那一份不是同一份。

4.这套文件按版本成对发布,对照时版本号对齐,跨版本套用没意义。

判断不难:车机里跑不跑安卓。跑,才碰系统层;AAOS 跑的是自己的车载版。

三、连接层:三套联盟规范各管一段

1.有线走 USB。接口形态、供电、数据传输依据 USB 规范,不是谷歌写的。

2.无线握手走蓝牙,具体功能档写在蓝牙技术联盟规范里;协商完成后,音视频数据流切到 Wi-Fi 直连承载。

3.投屏无线通道按 Wi-Fi 联盟规范做频段与信道规划。

(1)三套规范行业公共,不因为做车机就换。

(2)只过联盟认证不够。谷歌在 Android Auto 兼容性规范(Android Auto Compatibility Specification,业内常缩作 AACS)里对蓝牙、Wi-Fi 另有参数要求,不满足附加约束,Android Auto 照样过不了。

(3)三层任何一层对不上,表现都是连接不稳,现象一样原因不同,先分清再动手。

四、车里那一段的附加要求

1.驾驶场景有额外约束:行车中不能出现需长时间低头或手动输入的界面。

2.交互靠方向盘按键、语音这些不离开路面的方式兜底。

3.界面元素的尺寸与层级也有要求,本质是让驾驶员扫一眼就够。

4.语音不是可选项。说的是 Android Auto 交互链路必须支持 Google Assistant 语音入口,不等于车机硬件非得自带语音模块。

(1)这一层既有设计规则,也有能自动化的量化指标,比如触控区域大小、文字字号,并非全是主观评审。

(2)这类要求在文档里写法不一,读的时候盯住带"不得""必须"的那几句。

五、几对容易混的说法

1.手机上的兼容性测试与车机这套不是一回事,套过去没意义。

2.车机支持蓝牙播歌跟支持投屏是两回事,前者不等于后者。

3.有认证记录与产品一直合规也不是一回事。Android Auto 认证按软件版本绑定,大版本 OTA 变更一般要回归或重新申报,小版本看变更矩阵评估。

4.认证记录也有范围,标的是哪个版本、哪个型号。换了型号先确认要不要重报。

蓝亚检测做车载项目,会先把认证对象与所在层级问清,再谈送测范围。

六、条款怎么读

① 先看文档的版本年份,安卓版本更新时这份文档会跟着改。

② 再看适用范围开头那几句,它会写明管的是哪类设备。

③ 把必须满足的与建议性的分开记。前者不满足过不了,后者是参考。

三层的文件各归各的机构,找不到出处时,先问它属于哪一层。

三层依据理顺以后,材料清单是自然推出来的,不用背。


蓝亚咨询联系人:Benson

手机/Mob:(+86)13632500972

邮箱/E-mail:marketing@cblueasia.com

地址/Add:深圳市宝安区石岩街道北环路107号鸿景达产业园C栋

蓝亚检测不止服务!

<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6844225bf949cff65b89ec7139b9ad0f"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>