Android是⼀种基于Linux的⾃由及开放源代码的操作系统Android是⼀种基于Linux的⾃由及开放源代码的操作系统,主要使⽤于移动设备,如智能⼿机和平板电脑,由Google公司和开放
⼿机联盟领导及开发。尚未有统⼀中⽂名称,中国⼤陆地区较多⼈使⽤“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要⽀持⼿机。2005年8⽉由Google收购注资。2007年11⽉,Google与84家硬件制造商、软件开发商及电信营运商组建开放⼿机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权⽅式,发布了Android的源代码。第⼀部Android智能⼿机发布于2008年10⽉。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第⼀季
度,Android在全球的市场份额⾸次超过塞班系统,跃居全球第⼀。2012年11⽉数据显⽰,Android占据全球智能⼿机操作系统市场76%的份额,中国市场占有率为90%。
中⽂名:安卓
外⽂名:Android
开发商:Google、开放⼿持设备联盟
发⾏商:Google
发⾏时间:2008年9⽉23⽇
编程语
⾔:
C/C++(底层)Java等(应⽤
层)
系统家
族:
类Unix,Linux
源码模
式:
⾃由及开放源代码软件
内核类
型:
宏内核(Linux内核)
软件许
可:
Apache License, GPL等
Android⼀词的本义指“机器⼈”,同时也是Google于2007年11⽉5⽇宣布的基于Linux
平台的开源⼿机操作系统的名称,该平台由操作系统、中间件、⽤户界⾯和应⽤软件组成。
Android⼀词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发
表的科幻⼩说《未来夏娃》(L'ève future)中。他将外表像⼈的机器起名为Android。
Android的Logo是由Ascender公司设计的。其中的⽂字使⽤了Ascender公司专门制作的
称之为“Droid ” 的字体。Android是⼀个全⾝绿⾊的机器⼈,绿⾊也是Android的标志。颜
⾊采⽤了PMS 376C和RGB中⼗六进制的#A4C639来绘制,这是Android操作系统的品牌
象徵。有时候,它们还会使⽤纯⽂字的Logo。
2012年7⽉美国科技博客⽹站BusinessInsider评选出⼆⼗⼀世纪⼗款最重要电⼦产品,Android操作系统和iPhone等榜上有名。
2003年10⽉,Andy Rubin等⼈创建Android公司,并组建Android团队。[2]
2005年8⽉17⽇,Google低调收购了成⽴仅22个⽉的⾼科技企业Android及其团队。安迪鲁宾成为Google公司⼯程部副总裁,继续负责Android项⽬。
2007年11⽉5⽇,⾕歌公司正式向外界展⽰了这款名为Android的操作系统,并且在这
天⾕歌宣布建⽴⼀个全球性的联盟组织,该组织由34家⼿机制造商、软件开发商、电信
运营商以及芯⽚制造商共同组成,并与84家硬件制造商、软件开发商及电信营运商组成
开放⼿持设备联盟(Open Handset Alliance)来共同研发改良Android系统,这⼀联盟将⽀
持⾕歌发布的⼿机操作系统以及应⽤软件,Google以Apache免费开源许可证的授权⽅式,发布了And
roid的源代码。[3-4]
2008年,在GoogleI/O⼤会上,⾕歌提出了AndroidHAL架构图,在同年8⽉18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9⽉,⾕歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
2009年4⽉,⾕歌正式推出了Android 1.5这款⼿机,从Android 1.5版本开始,⾕歌开始
将Android的版本以甜品的名字命名,Android 1.5命名为Cupcake(纸杯蛋糕)。该系统
与Android 1.0相⽐有了很⼤的改进。
2009年9⽉份,⾕歌发布了Android 1.6的正式版,并且推出了搭载Android 1.6正式版的
⼿机HTC Hero(G3),凭借着出⾊的外观设计以及全新的Android 1.6操作系统,HTC
Hero(G3)成为当时全球最受欢迎的⼿机。Android 1.6也有⼀个有趣的甜品名称,它被称为Donut(甜甜圈)。
安卓各个版本在市场受欢迎度
2010年2⽉份,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去,从此,Android与Linux开发主流将分道扬镳。在同年
5⽉份,⾕歌正式发布了Android 2.2操作系统。⾕歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶。
2010年10⽉份,⾕歌宣布Android系统达到了第⼀个⾥程碑,即电⼦市场上获得官⽅数
字认证的Android应⽤数量已经达到了10万个,Android系统的应⽤增长⾮常迅速。在2010年12⽉,⾕歌正式发布了Android 2.3操作系统Gingerbread (姜饼)。
2011年1⽉,⾕歌称每⽇的Android设备新⽤户数量达到了30万部,到2011年7⽉,这
个数字增长到55万部,⽽Android系统设备的⽤户总数达到了1.35亿,Android系统已经
成为智能⼿机领域占有量最⾼的系统。
2011年8⽉2⽇,Android⼿机已占据全球智能机市场48%的份额,并在亚太地区市场占
据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第⼀。
2011年9⽉份,Android系统的应⽤数⽬已经达到了48万,⽽在智能⼿机市场,Android
系统的占有率已经达到了43%。继续在排在移动操作系统⾸位。⾕歌将会发布全新的Android 4.0操作系统,这款系统被⾕歌命名为Ice Cream Sandwich(冰激凌三明治)。
2012年1⽉6⽇,⾕歌Android Market已有10万开发者推出超过40万活跃的应⽤,⼤
多数的应⽤程序为免费。Android Market应⽤程序商店⽬录在新年⾸周周末突破40万基准,距离突破30万应⽤仅4个⽉。在2011年早些时候,Android Market从20万增加到30万
应⽤也花了四个⽉。[5]
发⾏版本
Android在正式发⾏之前,最开始拥有两个内部测试版本,并且以著名的机器⼈名称来对
其进⾏命名,它们分别是:阿童⽊(AndroidBeta),发条机器⼈(Android 1.0)。后来由
于涉及到版权问题,⾕歌将
Android 各代版本 Logo
其命名规则变更为⽤甜点作为它们系统版本的代号的命名⽅法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺⼨越变越⼤,然后按照26个字母
数序:纸杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松饼(Android 2.0/2.1),冻酸
奶(Android 2.2),姜饼(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果冻⾖(Jelly
Bean,Android4.1和Android 4.2)。
Android 1.1:2008年9⽉发布的Android第⼀版。
Android 1.5Cupcake(纸杯蛋糕):2009年4⽉30⽇发布。
主要的更新如下:
拍摄/播放影⽚,并⽀持上传到Youtube;⽀持⽴体声蓝⽛⽿机,同时改善⾃动配对性能;
最新的采⽤WebKit技术的浏览器,⽀持复制/贴上和页⾯中搜索;GPS性能⼤⼤提⾼;提
供屏幕虚拟键盘;主屏幕增加⾳乐播放器和相框widgets;应⽤程序⾃动随着⼿机旋转;
短信、Gmail、⽇历,浏览器的⽤户接⼝⼤幅改进,如Gmail可以批量删除邮件;相机启动速度加快,拍摄图⽚可以直接上传到Picasa;来电照⽚显⽰。
Android 1.6Donut(甜甜圈):2009年9⽉15⽇发布。
主要的更新如下:
重新设计的Android Market⼿势;⽀持CDMA⽹络;⽂字转语⾳系统(Text-to-Speech);快速搜索框;全新的拍照接⼝;查看应⽤程序耗电;⽀持虚拟私⼈⽹络(VPN);⽀持更
多的屏幕分辨率;⽀持OpenCore2媒体引擎;新增⾯向视觉或听觉困难⼈的易⽤性插件。
Android 2.0/2.0.1/2.1 Eclair(松饼):2009年10⽉26⽇发布。
主要的更新如下:
优化硬件速度;"Car Home"程序;⽀持更多的屏幕分辨率;改良的⽤户界⾯;新的浏览器
的⽤户接⼝和⽀持HTML5;新的联系⼈名单;更好的⽩⾊/⿊⾊背景⽐率;改进Google Maps3.1.2;⽀持Microsoft Exchange;⽀持内置相机闪光灯;⽀持数码变焦;改进的虚拟
键盘;⽀持蓝⽛2.1;⽀持动态桌⾯的设计。
Android 2.2/2.2.1 Froyo(冻酸奶):2010年5⽉20⽇发布。主要的更新如下:
整体性能⼤幅度的提升;3G⽹络共享功能;Flash的⽀持;App2sd功能;全新的软件商店;更多的Web应⽤API接⼝的开发。
Android 2.3.xGingerbread(姜饼):2010年12⽉7⽇发布。
主要的更新如下:
增加了新的垃圾回收和优化处理事件;原⽣代码可直接存取输⼊和感应器事件、
EGL/OpenGLES、OpenSL ES;新的管理窗⼝和⽣命周期的框架;⽀持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的⾳频效果器;⽀持前置摄像头、SIP/VOIP和NFC(近场通讯);简化界⾯、速度提升;更快更直观的⽂字输⼊;⼀键⽂字选择和复制/
粘帖;改进的电源管理系统;新的应⽤管理⽅式。
Android 3.0Honeycomb(蜂巢):2011年2⽉2⽇发布。
主要更新如下:
优化针对平板;全新设计的UI增强⽹页浏览功能;n-app purchases功能。
Android 3.1Honeycomb(蜂巢):2011年5⽉11⽇布发布。
android最新版版本主要更新如下:
经过优化的Gmail电⼦邮箱;全⾯⽀持Google Maps ;将Android⼿机系统跟平板系统再
次合并从⽽⽅便开发者;任务管理器可滚动,⽀持USB输⼊设备(键盘、⿏标等);⽀持Google TV.可以⽀持XBOX 360⽆线⼿柄;widget⽀持的变化,能更加容易的定制屏幕widget插件。
Android 3.2Honeycomb(蜂巢):2011年7⽉13⽇发布。
版本更新如下:
⽀持7英⼨设备;引⼊了应⽤显⽰缩放功能。
Android 4.0Ice Cream Sandwich(冰激凌三明治):2011年10⽉19⽇在⾹港发布。
安卓2.0版本
版本主要更新如下:
全新的UI;全新的Chrome Lite浏览器,有离线阅读,16标签页,隐⾝浏览模式等;截图
功能;更强⼤的图⽚编辑功能;⾃带照⽚应⽤堪⽐Instagram,可以加滤镜、加相框,进
⾏360度全景拍摄,照⽚还能根据地点来排序;Gmail加⼊⼿势、离线搜索功能,UI更强⼤;新功能People:以联系⼈照⽚为核⼼,界⾯偏重滑动⽽⾮点击,集成了Twitter、Linkedin、Google+等通讯⼯具。有望⽀持⽤户⾃定义添加第三⽅服务;新增流量管理⼯具,可具体查看每个应⽤产⽣的流量,限制使⽤流量,到达设置标准后⾃动断开⽹络。
Android 4.1Jelly Bean(果冻⾖):2012年6⽉28⽇
新特性:
更快、更流畅、更灵敏;特效动画的帧速提⾼⾄60fps,增加了三倍缓冲;增强通知栏;
全新搜索;搜索将会带来全新的UI、智能语⾳搜索和Google Now三项新功能;桌⾯插件
⾃动调整⼤⼩;加强⽆障碍操作;语⾔和输⼊法扩展;新的输⼊类型和功能;新的连接类型。
Android 4.2Jelly Bean(果冻⾖):2012年10⽉30⽇
Android 4.2沿⽤“果冻⾖”这⼀名称,以反映这种最新操作系统与Android 4.1的相似性,但Android 4.2推出了⼀些重⼤的新特性,具体如下:
Photo Sphere全景拍照功能;键盘⼿势输⼊功能;改进锁屏功能,包括锁屏状态下⽀持桌
⾯挂件和直接打开照相功能等;可扩展通知,允许⽤户直接打开应⽤;Gmail邮件可缩放
显⽰;Daydream屏幕保护程序;⽤户连点三次可放⼤整个显⽰频,还可⽤两根⼿指进⾏
旋转和缩放显⽰,以及专为盲⼈⽤户设计的语⾳输出和⼿势模式导航功能等;⽀持Miracast⽆线显⽰共享功能;Google Now现可允许⽤户使⽤Gamail作为新的数据来源,
如改进后的航班追踪功能、酒店和餐厅预订功能以及⾳乐和电影推荐功能等。
Android 5.0Key Lime Pie(青柠派): 待定
系统架构
Android的系统架构和其操作系统⼀样,采⽤了分层的架构。从架构图看,Androi
Android结构
d分为四个层,从⾼层到低层分别是应⽤程序层、应⽤程序框架层、系统运⾏库层和Linux 内核层。
应⽤程序
Android会同⼀系列核⼼应⽤程序包⼀起发布,该应⽤程序包包括客户端,SMS短消息程序,⽇历,地图,浏览器,联系⼈管理程序等。所有的应⽤程序都是使⽤JAVA语⾔编写的。
应⽤程序框架
开发⼈员也可以完全访问核⼼应⽤程序所使⽤的API框架。该应⽤程序的架构设计简化了组件的重⽤;任何⼀个应⽤程序都可以发布它的功能块并且任何其它的应⽤程序都可以使⽤其所发布的功能块(不过得遵循框架的安全性)。同样,该应⽤程序重⽤机制也使⽤户可以⽅便的替换程序组件。
隐藏在每个应⽤后⾯的是⼀系列的服务和系统, 其中包括;
丰富⽽⼜可扩展的视图(Views),可以⽤来构建应⽤程序,它包括列表(Lists),⽹格(Grids),⽂本框(Text boxes),按钮(Buttons),甚⾄可嵌⼊的web浏览器。
内容提供器(Content Providers)使得应⽤程序可以访问另⼀个应⽤程序的数据(如联系⼈数据库),或者共享它们⾃⼰的数据
资源管理器(Resource Manager)提供⾮代码资源的访问,如本地字符串,图形,和布局⽂件(Layout files )。
通知管理器(Notification Manager) 使得应⽤程序可以在状态栏中显⽰⾃定义的提⽰信息。
活动管理器( Activity Manager) ⽤来管理应⽤程序⽣命周期并提供常⽤的导航回退功能。
系统运⾏库
Android 包含⼀些C/C++库,这些库能被Android系统中不同的组件使⽤。它们通过Android 应⽤程序框架为开发者提供服务。以下是⼀些核⼼库:
* 系统 C 库 - ⼀个从BSD继承来的标准C系统函数库Libc ),它是专门为基于Embedded linux的设备定制的。
* 媒体库 - 基于PacketVideoOpenCORE;该库⽀持多种常⽤的⾳频、视频格式回放和录制,
同时⽀持静态图像⽂件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
* Surface Manager - 对显⽰⼦系统的管理,并且为多个应⽤程序提供了2D和3D图层的⽆
缝融合。
* LibWebCore - ⼀个最新的web浏览器引擎⽤,⽀持Android浏览器和⼀个可嵌⼊的web
视图。
系统结构
系统内核
Android 是运⾏于Linux kernel之上,但并不是GNU/Linux。因为在⼀般GNU/Linux ⾥⽀持
的功能,Android ⼤都没有⽀持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android⼜以Bionic 取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应⽤,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到Userspace,使得Linux driver 与 Linux kernel彻底分开。
Bionic/Libc/Kernel/ 并⾮标准的Kernel header files。Android 的 Kernel header 是利⽤⼯具由Linux Kernel header 所产⽣的,这样做是为了保留常数、数据结构与宏。
Android 的Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),⽹络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建⼯具Repo来初始化源码。Repo 是Android ⽤来辅助Git⼯作的⼀个⼯具。
后缀简介
[6]APK是安卓应⽤的后缀,是AndroidPackage的缩写,即Android安装包(apk)。APK是类
似Symbian Sis或Sisx的⽂件格式。通过将APK⽂件直接传到Android模拟器或Android⼿
机中执⾏即可安装。apk⽂件和sis⼀样,把android sdk编译的⼯程打包成⼀个安装程序
⽂件,格式为apk。APK⽂件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex⽂件,Dex是Dalvik VM executes的全称,即Android Dalvik执⾏程序,并⾮Java ME的字节码⽽是Dalvik字节码。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论