Android Automotive (一) 介绍

Android Automotive (一) 介绍

做了很久的Android Car开发的工作,趁着最近不太忙,总结一下。本文内容基于Android R。

Android Automotive起始于Android N(也就是Android 7.x 版本。 2016年5月19日谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布。)。Android O开始,Google对Car有了更多的支持,为汽车制定了更多的应用。提出了HIDL架构。Android P开始,对框架做了进一步完善。Android Q开始,官方API文档正式支持Android Automotive Library。

Android Automotive的代码是AndroidN首次发布(2016年5月18日).
第一笔提交在2015-07-11 03:21:47
cc449f7941456a0133ff8a4b2e49737f0936c1d0

代码库下载方法
repo sync -c packages/services/Car

代码库配置文件

为什么Google推出Android Automotive?

我认为主要有以下几点:

  • 首先Google和苹果先后推出的 Android Auto 和 CarPlay 不能得到车厂的青睐,这种技术策略核心是投屏,将手机屏幕内容显示在车机上,不可避免的需要和手机交互。
  • 车厂不想汽车数据共享给互联网公司,车厂都会各自实现一套汽车软件方案,Google难以介入。
  • 传统的开发模式,开发成本高。
  • Google需要为不同的硬件迭代以及软件版本升级做更好的改善。

Android Automotive的优势:

  1. 免费
  2. 稳定的架构
  3. 为不同供应商的硬件和软件解耦

Android Automotive的劣势:

  1. 仍然没有一套完整的解决方案。包括升级和维护、版本管理
  2. 安全性低
  3. 测试门槛高,需要各种ecu联调

什么是 Android Automotive?

Android Automotive 是一个基本 Android 平台,可运行 IVI 系统中预安装的 Android 应用以及可选的第二方和第三方 Android 应用。

Android Automotive 可为车载信息娱乐系统和车机提供开放性、自定义和规模化特性。开放性在免费的开源代码库中提供基本的车载信息娱乐功能,可进一步提升效率。借助自定义特性,实现人员能够在适当的情况下实现商品的差异化。规模化特性是通过 Android 的通用框架、语言和 API 来实现的,所有这些都使得全球数十万 Android 开发者的开发专长和成品软件得以重复使用。

Android Automotive 和 Android

了解 Android Automotive 与整个 Android 生态系统之间的关系至关重要:

  • Android Automotive 就是 Android 平台。Android Automotive 并非 Android 的分支或并行开发版本。它与手机和平板电脑等设备上搭载的 Android 使用相同的代码库,位于同一个存储区中。它基于开发时间逾 10 载的强大平台和功能集构建而成,因此能够利用现有的安全模型、兼容性计划、开发者工具和基础架构,同时继续保持较高的可定制性和可移植性,完全免费提供并且开源。
  • Android Automotive 扩展了 Android 平台。在将 Android 打造为功能完善的信息娱乐平台的过程中,我们增加了对汽车特定要求、功能和技术的支持。Android Automotive 将是一个一站式全栈车载信息娱乐平台,就像现在的 Android 系统之于移动设备一样。

Android Automotive 和 Android Auto

两者的命名方式可能有点让人迷惑不解。下面介绍了它们之间的区别:

  • Android Auto 是一个基于用户的手机运行的平台,可通过 USB 连接将 Android Auto 用户体验投射到兼容的车载信息娱乐系统。Android Auto 支持专为车载用途而设计的应用。
  • Android Automotive 是直接基于车载硬件运行的操作系统和平台。它是一个可定制程度非常高的全栈开源平台,可为信息娱乐体验提供强大的技术支持。Android Automotive 支持专为 Android 打造的应用,以及专为 Android Auto 打造的应用。

Automotive架构

先来看Android的架构,Android将一个系统从上到下分为几层,依次是System Apps系统应用层,Java API Framework系统框架层,Native C/C++ Libraries本地共享库,Android Runtime系统运行库,Hardware Abstraction Layer硬件抽象层,Linux Kernel系统驱动层。

关于Android平台架构可以参考《Android Platform Architecture 安卓平台架构》

Android Automotive是一个涉及系统应用层,系统框架层,本地共享库和硬件抽象层的模块。Android Automotive的系统架构如下

在这里插入图片描述

Android Automotive 架构

  • Car API:包含Android Automotive功能的 API。
  • CarService:系统框架层的服务,处理Android Automotive功能的业务逻辑。
  • Vehicle HAL:用于定义 OEM 可以实现的车辆属性的接口。

Android Automotive的界面

Android Automotive为了区别于手机系统,重新设计了一些专门在汽车设备上显示的应用,包括桌面、空调、通知等。

桌面应用程序

在这里插入图片描述

空调应用程序

在这里插入图片描述

通知界面

在这里插入图片描述

常用术语

缩写全称说明
HALhardware abstraction layer硬件抽象层
VHALVehicle HALAndroid Automotive的硬件抽象层
RTOSReal Time Operating System实时操作系统
OEMOriginal Equipment Manufacturer原始设备制造商
MCUMotor Control Unit微控制器单元
CANController Area Network制器域网
IVIIn-Vehicle Infotainment车载信息娱乐

一些资料链接

官方api文档: https://developer.android.google.cn/reference/android/car/Car?hl=en

官方Car指导: https://source.android.google.cn/docs/devices/automotive

Android Car开发指南:https://developer.android.google.cn/training/cars

Android 汽车应用介绍https://developer.android.google.cn/cars

附 Android主流版本、发布时间和对应的API level

版本名称Code name名称版本版本发布时间对应API
(no code name)12008年9月23日API level 1
(no code name)1.12009年2月2日API level 2
Cupcake纸杯蛋糕1.52009年4月17日API level 3,NDK 1
Donut甜甜圈1.62009年9月15日API level 4,NDK 2
Eclair松饼2.0.12009年12月3日API level 6
Eclair松饼2.12010年1月12日API level 7,NDK3
Froyo冻酸奶2.2.x2010年1月12日API level 8,NDK 4
Gingerbread姜饼2.32011年1月1日API level 9,NDK5
Gingerbread姜饼2.3.32011年9月2日API level 10
Honeycomb蜂巢32011年2月24日API level 11
Honeycomb蜂巢3.12011年5月10日API level 12,NDK 6
Honeycomb蜂巢3.2.x2011年7月15日API level 13
Ice Cream Sandwich冰激凌三明治42011年10月19日API level 14,NDK 7
Ice Cream Sandwich冰激凌三明治4.0.32012年2月6日API level 15,NDK 8
Jelly Bean果冻豆4.12012年6月28日API level 16
Jelly Bean果冻豆4.1.12012年6月28日API level 16
Jelly Bean果冻豆4.22012年11月API level 17
Jelly Bean果冻豆4.32013年7月API level 18
KitKat奇巧4.42013年7月24日API level 19
Kitkat Watch4.4W2014年6月API level 20
Lollipop(Android L)棒棒糖52014年6月25日API level 21
Lollipop(Android L)棒棒糖5.1API level 22
Marshmallow(Android M)棉花糖62015年5月28日API level 23
Nougat(Android N)牛轧糖72016年5月18日API level 24
Nougat(Android N)牛轧糖7.12016年12月API level 25
Oreo(Android O)奥利奥82017年8月22日API level 26
Oreo(Android O)奥利奥8.12017年12月5日API level 27
Pie (Android P)92018年8月7日API level 28
Q (Android Q)102019年9月4日API level 29
11(Android R)(Red Velvet Cake)红丝绒蛋糕112020年9月9日API level 30
12(Android S)(Snow Cone)刨冰122021年5月19日API level 31
13(Android T)(Tiramisu)提拉米苏132022年8月16日API level 32
  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值