Android Auto开发指南
文章目录
- 概要
- 整体架构流程
- 技术细节
- 小结
概要
Android Auto是Google开发的手车互联系统,其通过集成在手机端系统的Android Auto应用服务与车机的接收器通信,将手机端App的内容投射到车机端,从而实现手机内容上车。
整体架构流程
Android Auto支持有线与无线双重连接,其中有线通过USB AOA的方式进行通信,无线则通过BT+AP的方式进行通信。
整体流程如上所示,AA的主要分为三层, 服务层处理音频,视频,输入事件等逻辑, 中间层由google提供的AA协议栈,服务层需要建立IO后,调用服务层的API给协议栈协议数据,之后协议栈会返回解析后的业务报文。
技术细节
- Android Auto依赖强协议栈的实现,业务传输的报文有SSL加密,发送跟接收的数据,均有加密解密过程
- 无线的AA相比有线连接多了一个步骤,其依赖特定的UUID以及握手流程,需要在蓝牙端这边先通过rfcomm通信做一次握手,握手通过后,手机端的无线会连接车机AP。
小结
本文是博主基于全志T113 Linux系统以及高通615 Android系统落地AA的经验总结,本人已基于上述平台开发完成,项目成套源码,有对AA感兴趣的朋友欢迎留言沟通。