• 认识车载神器-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;

    1. 使用 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和扩展车载功能非常方便;

    其实后面大家会发现,在学习车载的过程中掌握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 视频应用

  • 相关阅读:
    Trino 387 Docker 部署配置数据源后不显示对应数据Catalog
    MySQL高级十一:其它索引详解
    项目后端环境和前端环境的搭建
    windows 下 QT Android 环境搭建(QGC 4.2.x + Qt 5.15.2)
    Web漏洞
    vite 打包部署出现的问题
    IPWorks macOS Edition通信组件
    Java 包装类
    Spring循环依赖
    项目介绍:开源安防摄像机(嵌入式软件)
  • 原文地址:https://blog.csdn.net/weixin_61845324/article/details/133875004