Android系统的车载娱乐系统构架解析

上传人:豆浆 文档编号:36345208 上传时间:2018-03-28 格式:PDF 页数:5 大小:182.71KB
返回 下载 相关 举报
Android系统的车载娱乐系统构架解析_第1页
第1页 / 共5页
Android系统的车载娱乐系统构架解析_第2页
第2页 / 共5页
Android系统的车载娱乐系统构架解析_第3页
第3页 / 共5页
Android系统的车载娱乐系统构架解析_第4页
第4页 / 共5页
Android系统的车载娱乐系统构架解析_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Android系统的车载娱乐系统构架解析》由会员分享,可在线阅读,更多相关《Android系统的车载娱乐系统构架解析(5页珍藏版)》请在金锄头文库上搜索。

1、 Android 系统的车载娱乐系统构架解析 引言引言 车载电子行业有着巨大的市场潜力, 因为车主们期望将用在手机上面的某些 应用软件直接运行在自己的私家车上。 但同时也面临诸多挑战,车载电子厂商需 要满足不同汽车型号的要求, 而且即便是同一品牌的不同车型往往也需要不同的 定制。 如今的车主们都希望能够像使用智能手机一样随心所欲地安装或者删除应 用软件。要将手机上使用的软件移植到车载电子系统中,开发者必须面对一个严 峻的挑战,即第三方应用程序必须在一个隔离的环境中运行,以此来阻止对其他 车载功能模块的干扰,以及可能使车主信息泄露等威胁。同时,第三方应用软件 必须跟车载其他系统有效地结合起来,

2、以便给用户带来更加完美的用户体验。最 后,第三方软件开发者必须针对车载系统的共同特征,开发一套公用平台,以方 便不同的汽车制造商进行移植, 而且可以使同一个应用程序无缝隙地在不同的品 牌的轿车上使用。 本文是对谷歌 Android 系统应用的一种创新扩展, 它可以对第三方应用程序 进行隔离,并使可信任的第三方应用程序有访问汽车功能软件层的权限,加强了 对汽车安全的防范。 1 1 背景知识背景知识 人们直观上感觉汽车内部的消费电子似乎只是提供同智能手机、PDA 以及 MP3 类似的功能,但是由于其在使用时不可避免地要与汽车其他功能模块接触, 所以车载娱乐电子比其他消费电子要更加复杂。 一般情况下

3、,汽车上面的大多数 应用软件都是厂商在汽车生产的时候已经固化好, 它们一般会随着汽车的报废而 报废,所以其生命周期一般是手机或者 MP3 的 510 倍。这就要求车载电子设计 公司支持对其出厂后的应用程序进行长期升级。但由于电子产品更新换代很快, 仅靠软件升级很大程度上提高了成本。 GENIVI 联盟去年同一些汽车巨头、芯片设计巨头、软件开发公司等召开了 一次大会,主要讨论的是怎样为车载电子产品建立一个标准公开的开发平台。 GENIVI 提出开发一个可扩展的架构,可能会应用到下一代车载电子上面,它需 要在以下方面进行努力: 通过从开源社区以及专业软件开发联盟获取无缝隙的软件补丁以及插件, 使其

4、可以增加更多的内容和特点,并始终要考虑系统的安全性以及可靠性。 增加车主和乘客的切身享受, 并且尽量使其性价比更高,努力降低设备成 本。 GENIVI 的软件架构利用英特尔的 Moblin 平台作为框架,通过增加或者删除 组件来满足特定汽车需求和使用。 支持用户自定义安装应用程序正在讨论, 同时, 许多可供选择的平台正在磋商中,谷歌的 Android 系统便是其中之一。 要强调的是,目前被 GENIVI 和 Moblin 重点强调支持的汽车电子硬件设备 (CAN 总线上网络特定的设备) , 当前在 Android 上却未能实现。 但由于 Android 对开源的大力支持,允许用户对终端程序安装

5、并卸载,目前 Moblin 对这些功能 尚未许可。 2 2 谷歌谷歌 AndroidAndroid 2007 年底,在谷歌主持召开的开放手机联盟大会上,一个完全免费开放的 手机平台诞生了,其目标是要延伸到更为广泛的硬件设备当中。谷歌 Android 基本的特点是其开放性,免费的 SDK 源码开发者可以很容易下载得到,Google 的号召力以及 Android 的开源性迅速促使开发者社区的形成。 Android 是一个主要为手机设备提供的开发平台,它包含一个系统内核、中 间层和底层驱动以及一些绑定的应用程序。整个项目有 Apache 许可证版本 2 授 权,因此移动运营商、软件企业、任何开发人员

6、可以添加或删除功能。按照 20 范例协议,即使不是内容提供商,共享应用程序都是可能的。该平台允许一些二 次开发商根据自己的需要添加新的功能或者应用, 所以可以很容易开发出丰富的 端对端应用程序。 2 21 1 结构概述结构概述 Android 系统架构由 5 部分组成:Linux 内核、库函数、Android 运行态、 应用程序框架、应用程序。 在线性架构的底层是 Linux 内核, 基本上是 Linux2 6 27 版本。 通过 Linux 内核为 Android 更新补丁, 内核负责管理系统服务程序以及驱动模块、 内存管理、 任务调度。 根文件系统使用 rootfs, 而数据及文件使用 Y

7、AFFS, 它是专门为 NAND 和 NOR 存储器设计驱动的文件系统。 应用程序框架和 Android 运行时态主要通过 CC+库,这部分库包括标准 的 C 库、多媒体库、图形界面库、浏览器、字体库以及数据库。 Android 运行态包括核心库以及 Java Dalvik 虚拟机,Dalvik 是一种允许在 有限的内存上运行多进程的虚拟机, 每一个程序运行在一个独立的 Linux 进程里。 应用程序框架由许多类、接口、包组成。它的目的是提供一种简单、连续的 方式去管理图形化用户接口,访问资源内存,收到通知,或者处理来电,主要的 组成部分有可视系统、activity 类管理、共享管理、资源管理

8、、通知管理、电 话管理。 2 22 2 安全性安全性 Android 内部进程通信以及安全性主要指在安装第三方应用的情况下,尽可 能保证系统的稳定性。 底层的许可机制是由 Linux 内核以及文件系统提供的,基本上可以满足基于 Linux 内核的其他系统。由于 Android 设备针对的是单用户, 因此多用户服务的设备靠分配唯一的标识才能应用。 此外,Android 是静态的安全许可系统,它在程序安装时被强制使用。 2 23 3 进程间的通信进程间的通信 Android 有两种进程间通信的模型:intent 和 code 绑定。intent 类框架提 供上层的进程间通信,这是最好的方式,可以动

9、态地利用 SDK 包进行开发,并与 上层应用程式绑定。intent 类包含了几个用来描述调用者真正意图的域,调用 者发送 intent 给 Android 的 intent 解析器,And-roid 系统将通过 intent 过滤 器从所有的应用程序中选择最适合处理该 intent 的 activity 类。intent 域包 含了期望的处理方式、类以及数据字符、数据的 MIME 类型。 intent 能够被用来触发 activities,发送数据给广播并启动相应的服务。 安全性方面的限制主要通过 Android 系统提供的权限框架类来实现。 每个程序运行在自身的进程里, 但开发者能够写一个服

10、务运行在不同的进程 中,一些对象在进程间传递也是允许的。在 Android 平台上,一个进程通常不能 进入其他进程内存。因此,两个进程间如果相互通信,需要把他们的对象分解成 操作系统可以识别的基础类型,并且通过进程的边界来控制对象。附带 SDK 的 AIDL 工具自动生成控制代码段,AIDL 是用来生成在两个进程之间通信代码的一 种接口描述语言。AIDL IPC 机制就是使用代理类在客户端和实现端传递参数。 3 Android3 Android 应用在车载电子的一种架构应用在车载电子的一种架构 Android 扩展了汽车的总体结构,基本架构如图 1 所示,自定义的 Android 平台应用在汽

11、车功能模块和支持组件的一边。 这种扩展的目的是提供一种允许可 信任的应用程序访问汽车功能模块(车辆制动、转向或电力传动分配)的安全机 制,而不可信任的程序被隔离并且不可以访问。应用程序之间的这种强制性的安 全策略是源于可靠性要求的 IVI 系统。 通过汽车管理类可信任应用程序有机会访 问一些特性(CAN 总线),但处理不当也可能危及车辆安全(例如通过连续发送 无效的数据帧使得 CAN 总线带宽饱和)。这种方案的主要特点是使上层逻辑去耦 合,那样就可以方便上层应用获取并处理来自底层数据。 3 31 1 汽车管理模块汽车管理模块 从上图可知, 汽车管理模块可以看成是负责车载应用程序与 Androi

12、d 底层交 互的一个中间类库,只有通过它,车载应用程序才可以获取相应底层数据。 它有两个接口: 一个是对应于应用程序而另一个是对应平台的组件,它是在 Android SDK 上面开发的并且拥有平台认证的一款应用程序。因为这个管理类不 属于平台本身,所以用户在没有专业人员帮助时不能自行更新。 3 32 2 与应用程序之间的交互与应用程序之间的交互 Android 是基于不透明的 IPC 之间的通信模型。应用程序将其功能交给操作 系统,在运行时,其他的应用程序可以获得他们的功能。基本上,平台提供了后 期管理和维护代码的能力, 这种模型也可以用于在第三方应用程序和汽车管理类 之间的交互。 汽车管理类

13、处理汽车功能模块通过属性 androidpermissioncarspeedread 和 androidpermissioncarspeedwrite。对于每一个属性(例如汽车总线发 送实时速度),Android 提供两种权限,创建并且指派给管理类。 利用预先定义的安全级别,它可以指定不同安全级别拥有以下的权限: 所有的。任何人可以访问应用程序 通常情况。访问是有权限决定的,但是一些应用程序的权限没有具体指出 权限人;在程序安装后,权限会被手动设置。 危险。访问时有权限限制的,用户在安装时必须有详尽的安全许可。 签名。访问是有权限限制的,只要应用程序获得平台的认证,那么权限就 会自动同意。 平

14、台认证就是车载设计商在开发设计过程中使用的签署平台。 它也用于签署 汽车管理类。如果一个第三方申请了此证书,它就具有完整的控制汽车扩展(事 实上汽车管理类只是一个签署应用平台证书的应用程序)。 通过以下属性定义的 汽车功能,能够通过高级别的 AIDL 接口去访问: 这种读写的方式允许通过输入输出来访问属性的值。 通过增加或者删除 监听器的方法来允许注册或者取消相关的回调函数, 该通知的属性值是可以改变 的。汽车管理类继承了此接口。个人的电话是要被 Android 权限相关的属性核实 的,如果来电者是被允许执行的,那么汽车管理类进程会自动处理,否则就会抛 出一个异常。 在开发应用时, 开发者需要

15、知道其属性名称以及数据的类型才能够开发第三 方应用程序。 而且所有的交互发生在先前的 AIDL接口。 这就意味着, 多亏Android 系统的架构,开发者并不需要了解整个 SDK 而是只要知道 AIDL 文件定义的电话 属性和 AIDL 文件描述的回调函数。而且,如果不同的 IVI 来自不同的生产商, 但有着相同的属性功能, 那么第三方应用程序使用这样的属性能够无缝隙地运行 在 IVI 上。 为了证实以上架构的实用性, 开发了一块实现完整功能的工作模块,由自定 义的Android发布版的概念验证组成。 该模块已经通过Andr-oid模拟器的测试, 基于 ARM 处理器,自定制模式的典型功能和 IVI 上面的用户界面,并在有英特尔 Atom 处理器的上网本上运行。 结语结语 本文概述了车载电子系统的相关知识,并介绍了 Google Android 系统背景 知识;设计了一个基于 Android 架构的车载电子可扩展平台,以适应个性化汽车 发展的需要。下一步的工作是引导该系统运行在自定义硬件上,并获取实时的汽 车数据。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号