The following article is from TechMerger Author 小虾米君
Android资深从业者,深耕技术、思维广泛。给您带来新颖的、有价值的文章。
Android Automotive OS, AAOS
在电动车大浪潮下,可为车企的信息娱乐体验提供强大的技术支持。同时为了兼容性考虑,AAOS 支持专为 Android 打造的应用,以及专为 Android Auto 打造的应用。
Android VS Android Auto VS AAOS
Auto 和 Automotive 的命名比较相似,貌似分不清楚,实则区别非常明显。
跟 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 的任务落到了车企身上。
| Android Eco | What | Target | Compativity |
|---|---|---|---|
| Android | OS | Phone | Android App |
| Android Auto | Platform | Phone when connected toCar supported Auto | Android App supported Auto |
| AAOS | OS | Car | Android + Auto + AAOS App |
Develop Apps for Android Cars
模拟器
No System Images available. Are you connected to the internet?
即基于未知原因官方暂时下架了 AAOS 的 Image。
好在 Volvo 及旗下的 Polestar 作为最早开发 Android Automotive 车机的车企,对外公开了 Image。虽不支持 ARM 架构,可以在 PC 上安装体验。
在 SDK Manager 的 SDK Update Sites 页面可以添加如下的 Url 来添加 Volvo 的站点:
添加好了之后,可以再次打开 SDK Manager 页面,就可以在 SDK Platforms 页面看到 Volvo 的 Image 了。
Check 之后会自动下载,像手机 Image 一样方便的创建 Automotive 车机模拟器。
启动之后,可以看到整体界面:
Car 使用说明 App 的截图:
Polestar2 车型也对外公开了 Image,像上面一样添加如下的 Url 即可创建其模拟器:
不亏是一家的,界面和 Volvo 差不多,Launcher 的布局由列表布局改成了四宫格。
其他也有车企采用了 AAOS,比如 Honda,只是没有公开。
Develop Apps
接下来就可以开发针对 AAOS 的 App 了,官方提供了 Car 相关的 SDK 供我们开发,即 Android for Cars App Library。为了兼容非 Car 的设备集成到了 AndroidX 中。
好处是编译 Phone Task 的话生成的 Apk 安装在 Phone 上,当其进入 Android Auto 模式之后会自动加载 Common 里的 Car 逻辑。而编译到 Automotive 的 Apk 可直接运行在 AAOS 上,以执行 Common 逻辑和特有的 Car 逻辑。
有点需要注意的是该 Sample 的 Gradle 和 AGP 版本需要升级到最新,才能编译通过。
可以利用 DHU 将手机转为 Android Auto 模式,这样的话就可以测试 App 的 Auto 模式下的表现。
Automotive 的 Sample Apk 运行到 Volvo 和 Polestar2 模拟器中都是如下结果,貌似无法正常使用。
经过日志排查和文档确认发现 Sample 依赖了 Car 中最新的特性,需要 AAOS 去下载和安装最新版的 Google Automotvie App Host Apk。
结语
参考文档
Android Auto
https://www.android.com/auto/
支持 Android Auto 的设备
https://www.android.com/auto/compatibility/#compatibility-vehicles
Android Automotive
https://source.android.google.cn/devices/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
长按右侧二维码
查看更多开发者精彩分享
"开发者说·DTalk" 面向中国开发者们征集 Google 移动应用 (apps & games) 相关的产品/技术内容。欢迎大家前来分享您对移动应用的行业洞察或见解、移动开发过程中的心得或新发现、以及应用出海的实战经验总结和相关产品的使用反馈等。我们由衷地希望可以给这些出众的中国开发者们提供更好展现自己、充分发挥自己特长的平台。我们将通过大家的技术内容着重选出优秀案例进行谷歌开发技术专家 (GDE) 的推荐。