认识车载神器-Android Auto

什么是Android Auto

首先,Android Auto 不是 OS。它是集成在 Android OS 里的 feature。当通过 USB、Wi-Fi 将 Android Phone 连接到支持 Android Auto 的车机上后,Android OS 将自动加载支持 Auto 模式下的 App 并将图像投屏到车机屏幕上。

认识车载神器-Android Auto_第1张图片

跟苹果的 CarPlay、百度的 CarLife、小米的 CarWith 一样,其本质上是投屏。Phone 提供计算、渲染,车机只是 Display,Display 和按键回传 Input 的事件,Phone 处理好之后将新的帧数据回传进行 Display。

如何使用Android Auto

Google官网 已经明确介绍了使用 Android Auto 的步骤

  1. 确保您的汽车或售后音响与 Android Auto 兼容;

  2. 手机上必须安装 Android Auto 应用,Android 10 以下的手机可以到 Google Play 下载安装,Android 10 及以上内置了 Android Auto;

认识车载神器-Android Auto_第2张图片

  1. 使用 USB 数据线将手机连接到汽车,然后在汽车显示屏上查看 Android Auto;

认识车载神器-Android Auto_第3张图片

虽然简单的三个步骤,但使用Android Auto有一个大前提:

  • 使用 Android Auto 的手机需要使用Google服务框架

因此需要通过GMS认证,国内汽车品牌基本不支持 Android Auto,一些沿用了国外车机系统的合资车型可能会支持 Android Auto。

关于 Android Auto 支持的汽车和音响品牌,可查阅 官网文档,里面列举得很详细。

如何开发Android Auto支持的应用

Google Developer 官网已经将 Android for Cars 的开发流程和规范写得很详细了,这里就不再详细赘述了,把官方的内容简单归纳一下,并列出一些注意项:

  • 我们可以基于 Android Auto 开发媒体应用(音乐,视频)、即时通讯应用、地图导航应用、并且有相应的测试方案和分发方案;
  • Google针对 Android Auto 应用专门提供了SDK,即 Android for Cars App Library 。为了兼容非 Car 的设备集成到了 AndroidX 中;
  • Android Auto 不支持自定义 UI,你的应用只负责与车载屏幕进行数据和事件交互,因此,所有的 Android Auto 应用都长得大同小异;
  • 开发的 Android Auto 应用必须经过 Google Play Store 分发,否则屏幕是不显示的,Google Play Store 有四个分发渠道:internal、closed testing、open testing、production,分别对应内部、内测、公测、产品,开发调试阶段用 internal 渠道即可;
  • 因为车载场景事关驾驶员生命安全,所以 Google 对 Android Auto 应用审核很严格。所有支持 Android Auto 的应用,必须满足 质量规范 才可能通过 Google Play Store 的审核;
  • 音乐app可参考官方开发的 uamp ,它是支持 Android Auto 的;
  • 国产手机基本都把 Android Auto 应用给删减掉了,所以都需要手动安装,但 Android Auto 启动时会安装谷歌服务框架,因此,第一次使用 Android Auto 需要科学上网。
  • 在使用国产手机调试 Android Auto 时,会出现车机屏幕黑屏的情况,原因可能是没有经过 Google Play Store 分发,也有可能是其他未知原因,因此,建议使用 pixel 手机进行开发调试;
Android Auto与Android Automotive的区别
  • Android Auto是 Android 的扩展功能,包含 Android Auto 应用、支持 Android Auto 的Apps,车机屏幕,缺一不可;

  • Android Automotive是基于 Android 定制的适用于车载的OS,简称 AAOS,归属于AOSP项目,编译的时候选择Automotive的target combo即可;

认识车载神器-Android Auto_第4张图片

国内汽车厂商普遍使用的Android Automotive,主要原因有:

  • 可以不需要通过GMS认证;
  • 兼容 Android Phone 和 Android Auto 的应用;
  • 独立的系统,不需要手机投屏,开发App和扩展车载功能非常方便;

其实后面大家会发现,在学习车载的过程中掌握framework很重要,因此转行车载,Android Framework 是必须要掌握的主要内容。

如果你还没有掌握Framework,现在想要在最短的时间里吃透它,可以参考一下《Android Framework核心知识点》,里面内容包含了:Init、Zygote、SystemServer、Binder、Handler、AMS、PMS、Launcher……等知识点记录。

《Android Framework学习手册》:https://qr18.cn/AQpN4J

  1. 开机Init 进程
  2. 开机启动 Zygote 进程
  3. 开机启动 SystemServer 进程
  4. Binder 驱动
  5. AMS 的启动过程
  6. PMS 的启动过程
  7. Launcher 的启动过程
  8. Android 四大组件
  9. Android 系统服务 - Input 事件的分发过程
  10. Android 底层渲染 - 屏幕刷新机制源码分析
  11. Android 源码分析实战

Android 车载学习手册:https://qr18.cn/F05ZCM

  • 第一章——Android Auto概述
  • 第二章——开发汽车媒体应用
  • 第三章——构建 Android Auto即时通信应用
  • 第四章——构建车载导航和地图的注点应用
  • 第五章——构建 Android Automotive OS 视频应用

你可能感兴趣的:(Android,移动开发,车载,android,framework,移动开发,车载开发,车载系统)