嵌入式系统技术应用与开发
上QQ阅读APP看书,第一时间看更新

3.2.2 嵌入式Android操作系统

3.2.2 嵌入式Android操作系统

1.嵌入式Android操作系统简介

Android是基于Linux内核和其他开源软件的修改版的移动操作系统,主要用于智能手机和平板电脑等触摸屏移动设备。Android作为一个完全开源的操作系统,程序员通过Android SDK提供的API以及相应的开发工具开发Android平台上的应用程序嵌入式Android整个系统由应用程序、应用程序框架、应用程序库、Android运行库和Linux内核(Linux Kernel)5部分组成。Android从面世以来到现在已经发布了20多个版本。嵌入式系统硬件厂商、开发者、用户之间相互依存,共同推进着Android的蓬勃发展。

2.嵌入式Android操作系统版本

2008年9月,谷歌(Google)正式发布了Android 1.0系统,这也是嵌入式Android系统最早的版本。随后的几年,谷歌以惊人的速度不断地更新Android系统,Android 2.1、2.2、2.3系统的推出使Android的市场占有率得到提高。2011年2月,谷歌发布了Android 3.0系统,这个系统版本是专门为平板电脑设计的。同年的10月,谷歌又发布了Android 4.0系统,这个版本不再对手机和平板进行差异化区分,既可以应用在手机上,也可以应用在平板电脑上。2014年谷歌推出了改动最大的Android 5.0系统,其中使用ART运行环境替代了Dalvik虚拟机,大大提升了应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。除此之外,还推出了Android Wear、Android Auto、Android TV系统,从而应用在可穿戴设备、汽车、电视等领域。之后Android的更新速度更加迅速,2018年推出了Android 9.0系统,2019年9月推出了Android 10.0系统,这也是目前最新的Android操作系统版本。Android操作系统版本号及API如表3-1所示。

表3-1 Android操作系统版本号及API

3.嵌入式Android操作系统架构

嵌入式Android操作系统大致可以分为4层架构:Linux内核层、系统运行库层、应用框架层和应用层。

(1)Linux内核层

Android系统是基于Linux内核的,Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WiFi驱动、电源管理等。

(2)系统运行库层

系统运行库层通过一些C/C++库来为Android系统提供了主要的特性支持。例如SQLite库提供了数据库的支持,OpenGL ES库提供了3D绘图的支持,WebKit库提供了浏览器内核的支持等。

同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(Android 5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。

(3)应用框架层

应用框架层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。

(4)应用层

所有安装在手机上的应用程序都是属于这一层的,例如系统自带的联系人、短信等程序,或者是从Google Play上下载的小游戏,当然还包括自己开发的程序。

4.嵌入式Android操作系统特点

Android系统4大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,凡是在应用中看得到的内容,都是放在活动中的。而服务就比较低调了,用户无法看到它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器允许应用接收来自各处的广播消息,如电话、短信等,当然应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,例如想要读取系统电话簿中的联系人信息,就需要通过内容提供器来实现。