Android 的简介和体系结构中每个层的功能。
1.简介
-
Android是由Google公司和开放手机联盟领导并开发的一种基于Linux的自由且开放源代码的操作系统,主要使用于移动设备。
-
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
-
Android是一个以Linux为基础的开源操作系统主要用于智能手机和平板电脑等移动设备。
-
Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l’Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L’ève future)中。他将外表像人的机器起名为Android。
-
SDK:软件开发工具包(Software Development Kit)
NDK:原生工具开发包(Natvie Development Kit,Android)
1.发展史
- List item2003年10月,Andy Rubin等人创建Android公司,并组建Android团队。
- List item 2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。
- List item2007年11月5日,谷歌公司正式向外界展示了这款Android的操作系统,且在这天谷歌宣布建立一个全球性的联盟组织,来共同研发改良Android系统联盟将支持谷歌发布的手机操作系统以及应用软件,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。
- List item在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
- List item2009年4月,谷歌正式推出了Android 1.5这款手机命名为Cupcake(纸杯蛋糕)。该系统与Android 1.0相比有了很大的改进。
- List item2009年9月份,谷歌发布了Android 1.6的正式版,它被称为Donut(甜甜圈)。
- List item 2010年5月份,谷歌正式发布了Android 2.2操作系统。谷歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶。
- List item在2010年12月,谷歌正式发布了Android 2.3操作系统Gingerbread (姜饼)
- List item2011年9月份,谷歌将会发布全新的Android 4.0操作系统,这款系统被谷歌命名为Ice Cream Sandwich(冰激凌三明治)。
- List item 2013年11月1日,Android4.4正式发布,从具体功能上讲,Android4.4提供了各种实用小功能,新的Android系统更智能,添加更多的Emoji表情图案,UI的改进也更现代
- List item2019年8月,谷歌宣布Android系统的重大改变,不仅换了全新的logo,命名方式也变了,今年的Android Q的正式名称是Android 10。
2.结构
Android的系统架构和操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
3.应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
- 系统运行库
- List itemAndroid ---->包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
- List item 系统 C 库 ----> 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
- List item媒体库 ----->基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG 。 - List item Surface Manager --à对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
- List itemLibWebCore ---->一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
- List item操作系统与应用程序的沟通桥梁,应用分为两层:函数(Library)和虚拟机(Virtual Machine)。
- List itemAndroid的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。
- List item Dalvik虚拟机可以有多个实例(Instance),
每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。
4.Application Framework
- List itemFramework可以理解为一些API的库房,android开发人员将一些基本功能实现,通过接口提供给上层调用,可以重复的调用这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:
-
视图(View System)-->丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器
-
内容提供者(Content Providers)-->使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据
-
资源管理器(Resource Manager)-->提供访问非代码资源,如本地化字符串、图形和布局文件
-
通知管理器(Notification Manager)-->使所有的应用程序能够在状态栏显示自定义警告
-
活动管理器(Activity Manager)-->管理应用程序生命周期,提供通用的导航回退功能
5.Applications
Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。