1.建立aoa通道
可以通过libusb直接打开手机端的aoa模式,发送Android Auto描述信息。此后会重新枚举aoa设备,手机端会提示是否需要下载Android Auto。
也可以通过内核来建立一个aoa驱动节点,通过节点来读写数据。
节点侦测程序参考linux设备节点侦测
注意接口的独立性封装,这样在其它方案如CarLife、Android 手机镜像时复用。
2.准备开发环境
需要连接google的网络环境,需要Android Auto开通地区的谷歌账号,需要拥有谷歌服务的Android 手机,安装Android Auto应用并更新到最新版。
3.交叉编译google protobuf
protobuf编译需要分为两步,先使用主机编译器,生成电脑端的proto程序,再通过proto程序交叉编译目标机的protobuf库。
4.移植Android Auto包
通过google protobuf移植编译Android Auto包,之后可以和手机建立Android Auto层通信。
与苹果CarPlay使用CP加密不同,谷歌使用软件加密认证。
注意最初的证书和秘钥设置,否则会连接失败。
注意时间设置,否则会连接失败。
注意各个音视频sink的实现,否则会连接失败。
5.接入音视频
根据Android Auto接口带入音视频解码和录音接口,将Android Auto的音视频数据进行解码。
6.控制接口引出
定义UI级的封装,引出UI输入接口,音视频控制接口等。

本文详细介绍AndroidAuto车载系统的开发流程,包括建立AOA通道、准备开发环境、交叉编译GoogleProtobuf、移植AndroidAuto包、接入音视频及控制接口引出等关键步骤。特别关注软件加密认证、证书和秘钥设置、时间同步以及音视频sink实现。
1347

被折叠的 条评论
为什么被折叠?



