/   今日科技快讯   /

继四月底、5月初连续减持京东健康价值超过4.4亿港元(约合3.76亿人民币)股票后,近日,刘强东又减持京东价值约2.79亿美元股票、约合人民币18.71亿元。减持前,刘强东对京东持股超过12%、拥有超过七成的投票权。此番减持不会影响他对公司的控制权。

/   作者简介   /

明天就是周六啦,大家周末愉快,我们下周再见!

本篇转自TechMerger的博客,文章主要分享了Google的车载系统体验,相信会对大家有所帮助!

原文地址:

https://juejin.cn/post/7110767099579990030

/   前言   /

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 构成。

后续将继续深入研究 AAOS 上 App 开发的特有场景,敬请期待。

参考文档

  • Android Auto(https://www.android.com/auto/)

  • 支持 Android Auto 的设备(https://www.android.com/auto/compatibility/#compatibility-vehicles)

  • Android Auto App(https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead&hl=en)

  • Android Automotive(https://source.android.google.cn/devices/automotive?hl=zh-cn)

  • What is Automotive(https://source.android.google.cn/devices/automotive/start/what_automotive?hl=zh-cn)

  • 测试 Android 车载应用(https://developer.android.google.cn/training/cars/testing?hl=zh-cn

  • test-automotive-os(https://developer.android.google.cn/training/cars/testing#test-automotive-os)

  • Car Library(https://developer.android.google.cn/reference/androidx/car/app/package-summary)

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

推荐阅读:

我的新书,《第一行代码 第3版》已出版!

Android 13 Developer Preview一览

在Android上实现汉字笔顺动画效果

欢迎关注我的公众号

学习技术或投稿

长按上图,识别图中二维码即可关注

Android车机初体验相关推荐

  1. Android 车机初体验:Auto,Automotive 傻傻分不清楚?

    原创作者:小虾米君 转载地址:https://mp.weixin.qq.com/s/3OL8boekmBId0UVU6amp8A WWDC 2022 上野心勃勃的 CarPlay 让不少车企感受了更多 ...

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

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

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

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

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

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

  5. 华硕FL5900U拆机初体验

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

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

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

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

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

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

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

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

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

最新文章

  1. 【建模必备】遗传算法的基本原理与步骤(交叉)
  2. 转载:T-SQL语句大全
  3. JVM SandBox 的技术原理与应用分析
  4. nacos 怎么配置 里的配置ip_Nacos-服务注册地址为内网IP的解决办法
  5. linux 更改ctime_Linux 的文件系统及文件缓存知识点整理
  6. 逻辑回归 logistic regression
  7. 有没有高效的记视频笔记方法?--天若OCR文字识别记视频笔记
  8. Ring3下Dll注入方法整理汇总
  9. 【FZU - 2254】英语考试(最小生成树,思维,建图)
  10. LeetCode MySQL 1412. 查找成绩处于中游的学生
  11. navcat定时备份mysql_MySQL——定时备份,保留最新31天的数据
  12. 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)
  13. spark 读取elasticsearch数据
  14. 传智播客 C/C++学习笔记 内存四区模型
  15. 最简单的Windows CE应用程序
  16. coTurn测试程序之 turnutils_uclient
  17. 苹果电脑win10蓝牙音响卡顿_win10系统蓝牙音箱卡顿声音断断续续的处理办法
  18. 考出面试者基本功的 10 个简单编程题
  19. python使用t检验和F检验验证模型好坏
  20. aws基础架构学习笔记

热门文章

  1. 【电商】电商后台设计—库存模块
  2. 域名抢注,域名交易平台(国内国外)
  3. 关于判别分析的学习-距离判别法
  4. VS Code 所选驱动器或UNC共享不存在或不可访问
  5. uniapp框架如何实现仿微信相册 | 图视频过滤、相册选择功能
  6. oracle 查找不重复的数据,oracle不用distinct查找不重复记录和删除重复记录
  7. 为什么发动机需要吸入大量的空气?
  8. CAD如何附着外部参照图?
  9. c++内存管理1:primitives
  10. hive、impala 求中位数