原创作者:小虾米君
转载地址:https://mp.weixin.qq.com/s/3OL8boekmBId0UVU6amp8A

WWDC 2022 上野心勃勃的 CarPlay 让不少车企感受了更多可能,也让不少车企察觉到了危机。

作为手机行业的一贯对手 Google 亦在车机上早有布局,包括 Android Auto 和 Automotive。虽推出已有数年,但中国开发者还很陌生,今天让我们来简单了解一下。

Android Automotive OS, AAOS

Android Automotive OS 简称 AAOS,是扩展自 Android OS 的操作系统、直接基于车载硬件运行。和 Android 一样是一个可定制程度非常高的全栈开源平台。

在电动车大浪潮下,可为车企的信息娱乐体验提供强大的技术支持。同时为了兼容性考虑,AAOS 支持专为 Android 打造的应用,以及专为 Android Auto 打造的应用。

Android VS Android Auto VS AAOS

Auto 和 Automotive 的命名比较相似,貌似分不清楚,实则区别非常明显。

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

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

而 Android Automotive 是 OS,其归属于 AOSP 项目,代码也在 Android OS 之中。在编译的时候选择 automotive 的编译 target 即可生成车载机使用的 AAOS。

它支持加载 Android Auto 的 App,即将 Android Phone 和 AAOS 车机仍旧能像 Android Auto 一样使用。同时支持 Android OS 的 App,即不适配车载机亦能运行在 AAOS 上。这可能也是主流互联网 App 无意适配 AAOS 的部分原因,同时导致适配车机 UI 的任务落到了车企身上。

Develop Apps for Android Cars

模拟器

车机资源比较宝贵、稀少,很难像手机、平板设备一样非常便捷地在真机上开发和测试,而模拟器则是比较好的选择。Google 和车企都有相应的 AAOS Image 可供创建模拟器。

Generic AOSP Image

官方说 9.0 公开了 AAOS Image,打开 AS 的 SDK Manager 页面反复刷新和尝试都没有出现官方的 Image Item。偶然间还会出现如下的错误:

No System Images available. Are you connected to the internet?

即基于未知原因官方暂时下架了 AAOS 的 Image。

OEM Image

好在 Volvo 及旗下的 Polestar 作为最早开发 Android Automotive 车机的车企,对外公开了 Image。虽不支持 ARM 架构,可以在 PC 上安装体验。

在 SDK Manager 的 SDK Update Sites 页面可以添加如下的 Url 来添加 Volvo 的站点。

  • https://developer.volvocars.com/sdk/volvo-sys-img.xml

添加好了之后,可以再次打开 SDK Manager 页面,就可以在 SDK Platforms 页面看到 Volvo 的 Image 了。

Check 之后会自动下载,像手机 Image 一样方便的创建 Automotive 车机模拟器。

启动之后,可以看到整体界面:

除了 Drawer、Video、座椅、空调等 Icon 以外还有 Map、BT、Google Assistant 这几个常用 App。

点击 Assistant App 可以进行语音操作:

点击抽屉按钮,可以看到除了 Map、BT、Google Assistant 还可以看到 Google Play、Car 使用说明这几个 App。

Car 使用说明 App 的截图:

Polestar2 车型也对外公开了 Image,像上面一样添加如下的 Url 即可创建其模拟器。

  • https://developer.polestar.com/sdk/polestar2-sys-img.xml

不亏是一家的,界面和 Volvo 差不多,Launcher 的布局由列表布局改成了四宫格。

其他也有车企采用了 AAOS,比如 Honda,只是没有公开。

Develop Apps

接下来就可以开发针对 AAOS 的 App 了,官方提供了 Car 相关的 SDK 供我们开发,即 Android for Cars App Library。为了兼容非 Car 的设备集成到了 AndroidX 中。

另外提供了针对导航等几个场景提供了开发 Sample:

  • https://github.com/android/car-samples

这些 Sample 的优势在于,其兼顾了 Phone 和 Automotive 两种开发场景。将 App 共通的 Car 部分放置在 Common Module 里,各自的逻辑放在独立的 Module 中。

好处是编译 Phone Task 的话生成的 Apk 安装在 Phone 上,当其进入 Android Auto 模式之后会自动加载 Common 里的 Car 逻辑。而编译到 Automotive 的 Apk 可直接运行在 AAOS 上,以执行 Common 逻辑和特有的 Car 逻辑。

有点需要注意的是该 Sample 的 Gradle 和 AGP 版本需要升级到最新,才能编译通过。

Phone 运行到 Auto

可以利用 DHU 将手机转为 Android Auto 模式,这样的话就可以测试 App 的 Auto 模式下的表现。

Automotive 运行在 AAOS

Automotive 的 Sample Apk 运行到 Volvo 和 Polestar2 模拟器中都是如下结果,貌似无法正常使用。

经过日志排查和文档确认发现 Sample 依赖了 Car 中最新的特性,需要 AAOS 去下载和安装最新版的 Google Automotvie App Host Apk。

可是遇到如下问题,无法安装:

  1. 该 App 需要 11 及以上的 AAOS 系统,而 Volvo 和 Polestar2 公开的最新的版本都是 10
  2. 该 App 在 APK Downloader 等网站上均无法直接下载
  3. Volvo 的 AAOS Emulator 上 GooglePlay 无法连接网络

adb shell am start -n com.android.vending/com.google.android.finsky.carmainactivity.MainActivity

结语

虽然 Sample 运行遇到了点问题,但是成功地运行了 AAOS 模拟器,也感受了一下 Car 的开发 Module 构成。

推荐:

Android车载开发与设备调试学习手册

Automotive

1.Android Automotive 13 版本详情
2.Android Automotive 12 QPR3 版本详情
3.Android Automotive 12L 版本详情
4.Android Automotive 12L 版本详情
5.Android Automotive 12 版本详情
6.Android Automotive 11 版本详情
7.什么是 Android Automotive?

Android 虚拟设备

1.概览
2.用作开发平台的 Android 虚拟设备
3.构建自己的云模拟器

模拟器 USB 透传模式集成指南

1.已测试的加密狗
2.原生 USB 支持
3.蓝牙支持
4.Wi-Fi 支持

使用 Pixel 手机作为开发平台

1.注意事项
2.前提条件
3.代码同步及 build
4.设置设备以刷写 build
5.刷写 build

有需要的可以 直接点击此处参考↓↓↓ 学习!!!

测试工具和基础架构

1.系统性能工具
2.界面测试和框架
3.在 Android Automotive OS (AAOS) 中模拟网络
4.Complete Automotive Tests in a Box
5.在 AAOS 设备上启用模糊测试工具
6.Spectatio:Automotive 测试框架
7.车载音频
8.音频焦点
9.音频路由
10.音量管理
11.创建播放器的替代方案
12.电台调谐器
13.蓝牙
14.按应用选择网络 (PANS)
15.屏幕和输入源概览
16.监控状态
17.按键输入
18.仪表板
19.有关防止驾驶员分心的准则
20.汽车用户体验限制 21.增强型视觉系统 (EVS)
22.Android Automotive 中的闪存磨损管理
23.位置信息绕过许可名单政策
24.电源管理
25.时间
26.启用 USB Gadget HAL API
27.用户与账号
28.SWITCH_USER
29.USER_IDENTIFICATION_ASSOCIATION
30.车载设备硬件抽象层
31.车载相机 HAL

语音

1.语音助理点读功能
2.语音交互简介
3.集成流程
4.应用开发
5.执行命令
6.测试和调试

人机接口

1.HMI 概览
2.AOSP 主机集成指南

汽车设置结果

1.概览
2.添加汽车设置
3.重新排列汽车设置
4.汽车设置中的“防分心优化”
5.汽车设置搜索索引
6.双窗格自定义
7.偏好设置字幕

自定义状态栏系统图标

1.特定图标的叠加
2.单个图标
3.配置图标

通知

1.概览
2.设置通知
3.浮动通知

车载设备界面库集成指南

1.车载设备界面库概述
2.将车载设备界面库集成到应用中
3.自定义应用
4.车载设备界面插件
5.包含 car-ui-lib 的 Google 软件包列表
6.添加自定义字体
7.自定义车载设备界面偏好设置
8.使用运行时资源叠加层来自定义工具栏
9.CarUiListItem
10.自定义 CarUiRecyclerView
11.排查运行时资源叠加层问题
12.车载设备界面库版本说明

拨号键

1.概览
2.技术详情
3.自定义准则
4.全局可配置值
5.工具栏
6.调试和测试

车载媒体

1.自定义 Media
2.系统组件和用户流

适用于 Automotive 的设备管理

1.个人设备
2.企业设备

旋控器

1.概述
2.开发应用
3.不使用车载设备界面库开发应用
4.适用于 OEM 的集成指南

系统界面

1.实现系统界面
2.SystemUIOverlayWindow 管理系统
3.SystemUIOverlayWindow Codelab

虚拟化

1.概述
2.架构
3.工具

有需要的可以 直接点击此处参考↓↓↓ 学习!!!

有需要的可以复制下方链接,传送直达!!!
https://mp.weixin.qq.com/s/5etgMk9R7AymokLz_l3wCg

Android 车机初体验:Auto,Automotive 傻傻分不清楚?相关推荐

  1. Android 车机初体验: Auto,Automotive 傻傻分不清楚?| 开发者说·DTalk

    本文原作者: 小虾米君,原文发布于: TechMerger WWDC 2022 上野心勃勃的 CarPlay 让不少车企感受了更多可能,也让不少车企察觉到了危机. Google 亦在车机上早有布局,包 ...

  2. Android车机初体验

    /   今日科技快讯   / 继四月底.5月初连续减持京东健康价值超过4.4亿港元(约合3.76亿人民币)股票后,近日,刘强东又减持京东价值约2.79亿美元股票.约合人民币18.71亿元.减持前,刘强 ...

  3. android 车机ui设计,星越L车机初体验,车机流畅功能全,不过也有值得改进之处...

    星越L(参数丨图片)是吉利即将在6月下旬正式上市的大五座SUV车型,星越L目前的热度一直都很高,上篇我们聊过星越L的外观部分,本篇主要来说一说星越L的内饰部分的亮点. 内饰部分叫"全景人生& ...

  4. [免费专栏] ATTACK安全之Android车机证书攻击场景检测「检测系统代理」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 ATTACK付费专栏长期更新,本篇最新内容请前往: [车联网 ...

  5. android 动画实现倒车,一种快速实现Android车机冷启动全景倒车的方法与流程

    本发明涉及一种快速实现Android车机冷启动全景倒车的方法,属于车辆设备技术领域. 背景技术: 目前市场上的车机在解决倒车辅助系统的冷启动时存在时间较长的弊端,主要原因是由于虚拟机的运行及加载方式导 ...

  6. 华硕FL5900U拆机初体验

    问题描述 看过520小编那篇博客的小伙伴们知道,小编的那篇博客没写完电脑就出问题了,死机且无法正常开机. 如图所示这个小圈圈转了一个小时它也没开机. "寻仙问药" 那么小编遇到这个 ...

  7. 安卓导航车机root方法_标准化车载安卓/语音交互是亮点 Polestar极星2车机微体验...

    [爱卡汽车 用车 原创] 在2019亚洲消费电子展上,高性能电动汽车品牌Polestar带来了今年4月份刚刚发布的新车型Polestar 2.作为全球首批车型之一,Polestar 2率先搭载了最新的 ...

  8. android车机启动器,【分享】车载启动器 AG 车载桌面启动器1.5.1车机桌面

    随着Android系统在全球智能车机领域的份额不断扩大,众多互联网巨头都将目光投向了车载应用市场,各家开发了不少优秀的产品,目前这些产品不仅安装包体积较小,而且均无广告植入,关键是还兼容安卓手机,这么 ...

  9. android 与地图互动,高德、百度和腾讯三家比拼,哪个 Android 车机地图 App 更好用?...

    写在前面 不管是自己开车.还是平时打车,相信你一定留意过驾驶座旁边位于车辆中间的那块大屏幕,不管是平时开车导航.放音乐,还是通过倒车影像辅助倒车,都离不开这块屏幕,这就是中控车机. 中控车机往往搭载的 ...

最新文章

  1. linux命令积累!
  2. 人工智能数理基础 · 前沿系列报告议程 第 6 期
  3. linux开启kafka消费者命令,Linux kafka常用命令
  4. C#关机代码实例详解
  5. Makefile.am
  6. 写给我的女神,一个用灵魂歌唱的小精灵
  7. java 栈的变量_深入Java核心:JVM中的栈和局部变量
  8. Maven聚合工程怎么变回普通的Maven工程
  9. UFLDL深度学习笔记 (四)用于分类的深度网络
  10. 关于jenkins打包部署
  11. 制作U盘安装UBUNTU
  12. 基于python的学生信息管理系统
  13. MVPArms框架学习遇到的一个问题——普通Activity配合Fragment出现空指针
  14. 网站服务器 发包,如何实现CentOS不停向外发包_网站服务器运行维护,CentOS
  15. html动态显示背景颜色,js动态修改背景颜色方法汇总
  16. 哈工大计算机科学与技术邬向前,人工智能学院组队赴哈工大交流学习
  17. CodeForces - 1324 D. Pair of Topics 思维+多解法
  18. (ACWing yxc算法基础课笔记)差分
  19. 计算机网络复习记录 (2)Chap 4
  20. 变形金刚2的影评-《变形金刚3 天网反击战》

热门文章

  1. (四)Docker网络可视化面板
  2. Qt编写安防视频监控系统56-数据库分页
  3. [Sass常见用法] Css代码的Sass打开方式
  4. Mac无法连接wifi,重置wifi模块
  5. 微信第三方服务平台java授权获取token(一)
  6. 使用PIL包给图片增加水印
  7. 终于有人把 p 值讲明白了!
  8. Spring Native实战
  9. Virual Studio 2022 C++ CLR 中 模拟 Android Studo,Eclipse 的 LogCat
  10. ORA-01653: unable to extend table原因及解决