认识车载神器-Android Auto

什么是Android Auto

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

跟苹果的 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;

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

虽然简单的三个步骤,但使用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 Automotive,主要原因有:

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

参考链接

Android for Cars 概览
Android Auto
androidx.​car.​app
Android 车机初体验:Auto,Automotive 傻傻分不清楚?
Android Auto 开发指北

相关推荐
STCNXPARM10 小时前
Linux camera之V4L2子系统详解
android·linux·camera·v4l2架构
2501_9445255410 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
不急不躁12314 小时前
Android16 GTS GtsPermissionTestcases 测试,跳过权限检查
android
符哥200815 小时前
关于用Android Compose开发成不成熟的分析
android·android jetpack
蜗牛、Z15 小时前
Android 蓝牙/Wi-Fi通信协议之:蓝牙扫描ScanCallback详解
android
黄昏晓x15 小时前
Linux----进程控制
android·linux·运维
我是阿亮啊16 小时前
android中事件分发机制
android·事件分发·事件分发机制
心前阳光17 小时前
Unity 模拟父子关系
android·unity·游戏引擎
2501_9151063217 小时前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
多多*17 小时前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#