作者dasea2008 (麦当劳的合约)
看板ncyu_phyedu
标题[讨论] android
时间Fri Feb 17 19:21:42 2012
Android
维基百科,自由的百科全书
汉汉▼
Android Android机器人
Android.svg
Android 4.0.png
Android 4.0介面截图 (Galaxy Nexus)
开发者 Google/开放手持设备联盟
程式语言 C(核心)[1], C++(有些第三方库), Java(用户界面)
运作状态 营运中
原始码模式 自由及开放原始码软体
初始版本 2008年10月21日
稳定版本
平板电脑:
3.2.2 (Honeycomb) / 2011年8月30日;5个月前
行动电话:
4.0.3 (Ice Cream Sandwich) / 2011年12月15日;2个月前
支援平台 ARM、MIPS、Power Architecture、x86
核心类别 整块性核心(Linux)
预设使用者介面 图形
授权条款 Apache 2.0 版授权许可证 Linux核心补丁适用GPLv2[2]
官方网站 android.com
Galaxy Nexus
早期Android设备
Android(读音:['ændrɔid])是一种以Linux为基础的开放源码作业系统,主要使用於
便携设备。它由Google公司和开放手持设备联盟开发和领导。目前尚未有统一中文名称,
「安卓」和「安致」是在中国大陆流行的另一个称呼。
Android作业系统最初由安迪·鲁宾(Andy Rubin)创办[3],最初主要支援手机。2005年
8月17日被Google公司(中国大陆常称之为「谷歌」)收购注资。[4] 2007年11月5日,
Google公司与84家硬体制造商、软体开发商及电信运营商组成开放手持设备联盟(Open
Handset Alliance)来共同开发改良Android操作系统并生产搭载Android的智能手机
[5][6][7][8] ,并逐渐扩展到到平板电脑及其他领域上[9]。随後,Android获得了
Apache免费开源许可证,Google公司发布了其源代码[10]。同时,一个负责进一步发展和
维护Android操作系统的Android开源项目也被建立(AOSP)。[11]
2010年末数据显示,仅正式推出两年的作业系统的Android在市场占有率上已经超越称霸
十年的诺基亚Symbian系统[12][13] 。2011年8月,Android操作系统在全球智能手机操作
系统的市场占有率已达48%,成为全球第一大智能手机操作系统。[14]
目录
[隐藏]
1 名称来源
2 Logo来源
3 历史
3.1 成立
3.2 Google的收购
3.3 收购後的发展
3.4 开放手持设备联盟
3.5 许可证
4 系统设计
4.1 Linux内核
4.2 特点
5 硬体支持
6 应用程序
6.1 Android Market
6.2 应用程式安全机制
6.2.1 恶意程式与病毒
6.2.2 SEAndroid
7 市场使用情况
7.1 市场占有率
7.2 用户使用系统版本比例
8 版本
8.1 发布
9 系统架构
9.1 应用程式
9.2 中介软体
9.3 硬体抽像层
9.4 程式语言
9.5 专利纠纷
10 参见
11 参考
12 外部连结
[编辑] 名称来源
Android一词最早出现於法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886
年发表的科幻小说《未来夏娃》(L'Ève future)中。他将外表像人的机器起名为
Android。
[编辑] Logo来源
Android的Logo是由Ascender公司设计的。其中的文字使用了Ascender公司专门制作的称
之为「GoogleDroid字体」的字体[15]。
Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB
中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵[16]。有时候,它们还会
使用纯文字的Logo。[17]
[编辑] 历史
[编辑] 成立
2003年10月,有「Android之父」之称的安迪·鲁宾(Andy Rubin)[18]在美国加利福利
亚州的帕洛阿尔托建立了Android科技公司(Android Inc.),并与米奇·米纳尔(Rich
Miner)[19] 、尼克·席尔斯(Nick Sears)[20]、克里斯·怀特(Chris White)[21]共同发
展这家公司。谈到建立Android科技公司的原因,鲁宾说:「聪明的移动设备能更好的意
识到用户的爱好和要求」[22]。尽管Android科技公司的创始人和员工过去都具有各自的
科技成就,但是Android科技公司的经营只显露出它在手机软体的方面。
同年,鲁宾为Android科技公司花光了所有的钱。就在这时,史蒂夫·帕尔曼(Steve
Perlman)递给了鲁宾一个信封,在里面装有1万美金的现金,并且帕尔曼并不是以投资的
方式给鲁宾这笔钱,因为他拒绝了鲁宾给他的股份。[23]
[编辑] Google的收购
2005年8月17日,Google公司收购了Android科技公司,Android科技公司成为Google公司
旗下的一部分,包括米奇·米纳尔、克里斯·怀特等所拥有的全资子公司,所有Android
科技公司的员工都被并入Google公司。当时,没有人知道Google公司为什麽作出这项收购
,有许多的猜测,後来证明Google正是藉助此次收购正式进入移动领域。
[编辑] 收购後的发展
在Google公司,鲁宾领导着一个负责开发基於Linux内核移动操作系统的团队,这个开发
项目便是Android操作系统。Google公司的合作平台为Android提供了广阔的市场,Google
公司给予各大硬体制造商、软体开发商一个灵活可靠的系统升级承诺,并保证将给予它们
最新版本的操作系统。 2006年12月,美国「华尔街日报」和英国BBC电视台报导了Google
有可能进入移动领域的传闻,Google公司有可能推广移动领域下的各种Google服务,并且
将推出一款名为Google手机的自主品牌手机。另有传闻指出,按照Google的作风,将有可
能呈现出新的手机制造商和运营商模式。 2007年9月,Google提交了多项移动领域的专利
申请。但并没有人知道Google将会推出的是一款名为Android的手机操作系统,更多的猜
测是Google会推出一款像iPhone一样的自主品牌手机系列。[24][25][26]
[编辑] 开放手持设备联盟
主条目:开放手持设备联盟
2007年11月5日,在Google公司的领导下,开放手持设备联盟建立,最开始的一批创始成
员包括Broadcom公司、HTC、英特尔、LG、Marvell等公司。开放手持设备联盟的建立目的
是为了创建一个更加开放自由的移动手机环境。而在开放手持设备联盟创建的同一天,联
盟对外展示了他们的第一个产品,一台搭载了以Linux 2.6为内核基础的Android操作系统
的智能手机。 2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索
尼爱立信等公司。[27][28]
[编辑] 许可证
Android操作系统使用开放免费源代码许可证,一切源代码都是公开免费[29] 的。Google
对Android所使用的Linux内核依据Apache开源条款2.0中所规定的内容进行了修改,
[30][31][32][33]包括添加手机网路和电话协议栈等手机所必需的功能,使它们能更好的
在移动设备上运行,并且根据第二版GNU条款中所规定的内容对修改的Linux内核信息公布
。Google也不断发布问卷和开放修改清单、更新情况和源代码来让任何人看到并且提出他
们的意见和评论,以便按照用户的要求改进Android操作系统。 Android操作系统是完全
免费开源的,任何厂商都可以不经过Google和开放手持设备联盟的授权随意使用Android
操作系统,但是制造商不能随意地在自己的产品上使用Google(Google)的标志和Google
的应用程序,例如Android Market等,除非Google证明其生产的产品设备符合Google兼容
性定义文件(CDD),这样才能在手机上预装Android Market、Gmail等应用程序,并且获
得CDD的手机厂商也可以在其生产的手机上印上「With Google」的标志[34]。
[编辑] 系统设计
[编辑] Linux内核
Android操作系统的内核属於Linux内核的一个分支,具有典型的Linux周期和功能,[35]
除此之外,Google公司为了能让Linux在移动设备上良好的运行,对其进行了修改和扩充
。Android去除了Linux中的本地X Window System,也不支持标准的GNU库,这使得Linux
平台上的应用程序移植到Android平台上变得困难[36]。2008年,Patrick Brady於
Google I/O演讲「Anatomy & Physiology of an Android」,并提出的Android HAL架构
图。HAL以*.so档的形式存在,可以把Android framework与Linux kernel隔开,这种中介
层的方式使得Android能在移动设备上获得更高的执行效率。这种独特的系统结构被Linux
核心开发者Greg Kroah-Hartman和其他内核维护者称赞。Google还在Android的内核中加
入了自己开发制作的一个名为「wakelocks」的移动设备电源管理功能,该功能用於管理
移动设备的电池性能,但是该功能并没有被加入到Linux内核的主线开放和维护中,因为
Linux内核维护者认为Google没有向他们展示这个功能的意图和代码。 2010年2月3日,由
於Google在Android内核开发方面和Linux社区方面开发的不同步,Linux核心开发者Greg
Kroah-Hartman将Android的驱动程序从Linux核心「状态树」(「staging tree」)上除
去。[37]2010年4月,Google宣布将派遣2名开发人员加入Linux内核社区,以便重返Linux
内核。2010年9月,Linux内核开发者Rafael J. Wysocki添加了一个修复程序,使得
Android的「wakelocks」可以轻松地与主线Linux内核合并。2011年,Linus Torvalds说
:「Android的内核和Linux的内核将最终回归到一起,但可能不会是4-5年。」
Android的内核基於Linux,除了内核之外,则是中介层、资料库元和用C/C++编写的API以
及应用程式框架。Android的应用程序通常以Java资料库元为基础编写,运行程序时,应
用程式的代码会被即时转变为Dalvik dex-code (Dalvik Executable),然後Android操作
系统通过使用即时编译的Dalvik虚拟机来将其运行。[38]
除了开放手持设备联盟之外,Android还拥有许多由全球各地开发者组成的开源社区来专
门负责开发Android应用程式和第三方Android操作系统来延长和扩展Android的功能和性
能。[39]截止至2011年10月,Android电子市场上拥有超过30万个认证的应用程式,电子
市场的应用程式下载量也在2011年12月达到100亿次[40][41]。由於Android是开放的,因
此它还可以通过第三方网站来下载安装电子市场上所没有的应用程式。
[编辑] 特点
当前的Android操作系统具有以下几个功能:
显示布局
Android操作系统支持更大的解析度,VGA,2D显示,3D显示都给予OpenGL ES 2.0标
准规格,并且支持传统的智能手机。
数据存储
Android操作系统内置SQLite来负责存储数据,这是一个小型的数据库。
网路
Android操作系统支持所有的网路制式,包括GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth, Wi-Fi, LTE, NFC 和 WiMAX。
信息
Android操作系统支持简讯和邮件,并且支持所有的云端信息和服务器信息。
语言
Android操作系统支持多语言。
浏览器
Android操作系统中内置的网页浏览器基於WebKit内核,并且采用了Chrome V8引擎。
在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且支持
Flash。
支持Java
虽然Android操作系统中的应用程式大部分都是由Java编写的,但是Android却是以转
换为Dalvik executables的文件在Dalvik虚拟机上运行的。由於Android中并不自带Java
虚拟机,因此无法直接运行Java程序,不过Android平台上提供了多个Java虚拟机供用户
下载使用,安装了Java虚拟机的Android系统可以运行J2ME的程式。
媒体支持
Android操作系统本身支持以下格式的音频/视频/图片媒体:WebM, H.263, H.264
(in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC,
HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG,
PNG, GIF, BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程式。
流媒体支持
Android操作系统支持RTP/RTSP (3GPP PSS, ISMA)的流媒体以及(HTML5 <video>)的
流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之後,还支持苹果公司的流媒体
。
硬体支持
Android操作系统支持识别并且使用视频/照片摄像头,多点电容/电阻触摸屏,GPS,
加速计,陀螺仪,气压计,磁强计,键盘,鼠标,USB Disk,专用的游戏控制器,体感控
制器,游戏手柄,蓝牙设备,无线设备,感应和压力感测器,温度计,加速2D位位块传输
(硬体方向,缩放,像素格式转换)和3D图形加速。
多点触控
Android支持原生的多点触摸,在最初的HTC Hero手机上即有这个功能。该功能是核
心级别(为了避免对苹果公司的触摸屏技术造成侵权)。
蓝牙
Android支持A2DP,AVRCP,发送文件(OPP),访问电话簿(PBAP),语音拨号和发
送手机之间的联系。同时支持键盘,滑鼠和操纵杆(HID)。
多工处理
Android操作系统支持原生的多工处理。
语音功能
除了支持普通的电话通话之外,Android操作系统从最初的版本开始就支持使用语音
操作来使用Google进行网页搜索等功能。而从Android OS v2.2开始,语音功能还可以用
来输入文字、语音导航等功能。
无线共享功能
Android操作系统支持用户使用本机充当「无线路由器」,并且将本机的网路共享给
其他手机,其他机器只需要通过WiFi寻找到共享的无线热点,就可以上网。而在Android
OS v2.2版本之前的操作系统则需要通过第三方应用或者其他定制版系统来实现这个功能
。
截图功能
从Android OS v4.0版本开始,Android操作系统便支持截图功能,该功能允许用户直
接抓取手机萤幕上的任何画面,用户还可以通过编辑功能对截图进行处理,还可以通过蓝
牙/E-mail/微博/共享等方式发送给其他用户或者上传到网路上,也可以拷贝到电脑中。
[编辑] 硬体支持
主条目:Android装置列表
由於Android操作系统的开放性和可移植性,它可以被用在大部分电子产品上。包括:手
机,上网本,平板电脑,个人电脑,笔记本电脑,电视,机顶盒,MP3,MP4,掌上游戏机
,家用主机,电子手表,电子收音机,耳机,汽车设备,导航仪,CD机,VCD机,DVD机,
机顶盒以及其他设备。
Android操作系统大多搭载在使用了ARM架构的硬体设备上。但是同样也有支持X86架构的
Android操作系统,比如Google公司的Google TV就是使用一个X86版本特别定制的Android
操作系统。
同样,苹果公司的iOS设备,比如iPhone、iPod Touch以及iPad产品都可以安装Android操
作系统,并且可以通过双系统启动工具OpeniBoot或者iDroid来运行Android操作系统。微
软的Windows Mobile产品也一样可以。
世界上第一台正真意义上使用Android操作系统的设备是2008年10月22日发布的HTC Dream
。
世界上第一台搭载了Android 4.0操作系统的平板电脑是由中国艾诺公司(Ainovo)生产
的Novo 7。
Android可以像用电脑上网一样,使用任何服务[42]。Android对手有苹果公司的iOS作业
系统及Microsoft的Windows Phone 7及RIM使用的BlackBerry OS系统。[43]
[编辑] 应用程序
早期的Android应用程序开发,通常通过Android SDK(Android软体开发包)下使用Java
作为编程语言来开发应用程序,但通过不同的软体开发包,则使用的编程语言也不同。
例如开发者可以通过Android NDK(Android Native开发包)使用C语言或者C++语言来作
为编程语言开发应用程序。同时Google还推出了适合初学者编程使用的Simple语言,该语
言类似微软公司的Visual Basic语言。此外,Google公司还推出了Google App Inventor
开发工具,该开发工具可以快速地构建应用程式,方便新手开发者。
[编辑] Android Market
主条目:Android Market
Android Market,目前没有规范的中文名,中国大陆地区大多使用「电子市场」以及「
Google市场」来称呼。 2009年2月,Google推出Android Market线上应用程式商店,用户
可在该平台网页寻找、购买、下载及评级使用手机应用程序及其他内容[44]。第三方软体
开发商和自由开发者则可以通过Android Market发布其开发的应用程序。截止至2011年10
月,Android Market上已有超过30万个应用程序,并且在2011年12月,Android Market上
的应用程序下载量超过100亿次。同时,全球已有1.3亿台Android设备在Android Market
上下载过软体。
只有通过Google公司许可并且认证的厂家才能在其产品设备上安装Google服务框架和
Android Market。同时受到部分地区和国家政策的影响,Google根据部分地区和国家的政
策对Android Market上的内容进行了过滤,因此各地区和国家看到的内容不一样。此外,
受到部分地区和国家的电信运营商的影响,Android Market在部分地区和国家可能不可使
用。
Android Market™内的付费程序在许多国家与地区内提供,如美国、英国、瑞典、德国、
斯里兰卡、泰国、越南、香港、台湾[45]等。[46]由於受到Google退出中国事件影响,目
前Android Market的服务还没有扩展到中国大陆地区,但大陆用户仍可通过国际信用卡和
相关的免费软体来完成购买。需要注意的是,通过这种方法购买的软体可能不会得到当地
承认的发票(Invoice)。
除了Google的Android Market之外,还有其他公司的应用程式市场,如亚马逊公司的
Amazon Appstore[47],它们都提供在线的APK程序的安装和下载。
[编辑] 应用程式安全机制
Android操作系统使用了沙盘机制,所有的应用程序都会先被简单地解包到沙盘中进行检
查,并且将应用程序所需的权限提交给系统,并且将其所需权限以列表的形式展现出来,
供用户查看。例如一个第三方浏览器需要「链接网路」的权限,或者一些软体需要拨打电
话,发送简讯等权限。用户可以根据权限来考虑自己是否需要安装,用户只有在同意了应
用程式权限之後,才能进行安装[48]。
[编辑] 恶意程式与病毒
由於Android操作系统的开放和自由性,一些恶意程式和病毒也随之出现。2010年8月,卡
巴斯基病毒实验室报告称发现了Android操作系统上首个木马程序,并将其命名为「
Trojan-SMS.AndroidOS.FakePlayer.a」[49],这是一个通过简讯方式感染手机的木马,
并且已经感染了一定数量的Android设备。除了简讯感染方式,这些Android木马还可以伪
装成一些主流的应用程式,并且还可以隐藏在一些正规的应用程式之中[50][51]。尽管
Google公司通过定期的检查撤除这些存在与Android Market上的恶意程式和病毒,但是这
并不能完全阻止其他病毒通过第三方网路的方式产生并且传播[52]。目前Android操作系
统上已经拥有防病毒程式来防止手机中毒,例如AVG,卡巴斯基,赛门铁克,Avast!等杀
毒软体也已经发布了Android版本。
[编辑] SEAndroid
美国国家安全局在2012年1月发布SEAndroid开源项目和程式码,使Android系统支援强制
存取控制(Mandatory Access Control)以增加系统安全性。[53] [54]
[编辑] 市场使用情况
[编辑] 市场占有率
2009年第二季度,根据市场研究公司Canalys的数据显示,Android占据全球智能手机操作
系统市场2.8%的份额[55],这个数字在2010年第四季度的全球份额中增长到了33%,
Android操作系统也因此击败了诺基亚的Symbian系统成为了全球第一大智能手机操作系统
。2011年第三季度,根据市场调研公司Gartner的数据显示,Android操作系统在全球智能
手机操作系统中的份额已经过半,达到了52.5%,全球有一半的智能手机使用Android操作
系统[56]。
2010年5月的数据显示,Android操作系统在2010年第一季度的销量超过了对手iOS平台,
成为美国最大的智能手机操作系统。
根据本土市场研究公司ComScore的数据显示,2009年11月时,Android在美国的智能手机
操作系统市场的占有率为5.2%[57],在2010年2月时,这个数字变成了9.0%,而在2010年
第三季度末时,Android已经占据了美国市场的21.4%的份额[58]。截止至2011年6月,
Google表示,每天通过Google服务器激活的Android设备达到了55万台[59],并且以每周
4.4%的速度增长.[60]。2011年8月1日,Canalys的数据显示,Android已占据美国48%的智
能手机市场占有率[61]。2011年10月13日,Google表示,全球市场上有1.9亿台Android设
备通过Google认证[62],而在2011年11月16日,全球市场上已有2亿台Android设备通过
Google认证[63]。但是,搭载Android操作系统的平板电脑却只有1.9%的份额,只有380万
Android蜂巢平板被卖出,远远低於苹果公司的iPad的销量。[64]
[编辑] 用户使用系统版本比例
Android chart.png
截止至2011年12月1日,不同的Android操作系统版本的用户比例。[65]
版本
版本名称 API level %
4.0 冰淇淋三明治 14-15 0%
3.x.x 蜂巢 11-13 2.4%
2.3.x 姜饼 9-10 50.6%
2.2 冻酸奶 8 35.3%
2.1 闪电泡芙 7 9.6%
1.6 甜甜圈 4 1.3%
1.5 纸杯蛋糕 3 0.8%
另外,Android操作系统还有两个内部版本,它们分别是:铁臂阿童木(Astro)和发条机
器人(Bender),在这两个版本之後,Google为了避免商标问题,将Android操作系统的
代号由机器人转变为了现在的甜点。[66]
[编辑] 版本
主条目:Android历史版本
Android系统差不多每半年一次的升级步伐,每代Android系统都以甜点命名,比如1.5版
叫做Cupcake(纸杯蛋糕)、1.6版为Donut(甜甜圈)、2.0/2.1叫Éclair(闪电泡芙,
一种法式奶油夹心甜点[67])、2.2版为Froyo(冷冻乳酪)、2.3版为Gingerbread(姜饼
)、3.0版叫Honeycomb(蜂窝)及4.0版称为Ice Cream Sandwich (冰淇淋三明治)。以
C D E F G H I字头顺序排列。Donut将把社交网路功能作为升级重点,在「手机的各种体
验中」都增加社交网路元素[68]。
[编辑] 发布
1.5
(Cupcake)
基於Linux Kernel 2.6.27 2009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的
Android发布。[69][70]
[71]主要的更新如下:
拍摄/播放影片,并支持上传到Youtube
支持立体声蓝芽耳机,同时改善自动配对性能
最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索
GPS性能大大提高
提供萤幕虚拟键盘
主萤幕增加音乐播放器和相框widgets
应用程序自动随着手机旋转
简讯、Gmail、日暦,浏览器的用户介面大幅改进,如Gmail可以批量删除邮件
相机启动速度加快,拍摄图片可以直接上传到Picasa
来电照片显示[72]
1.6
(Donut)
基於Linux Kernel 2.6.29 2009年9月15日,1.6(Donut 甜甜圈)版本软体开发套件发
布。[73][74]主要的更新如下:
重新设计的Android Market
手势支持
支持CDMA网路
文字转语音系统(Text-to-Speech)
快速搜索框
全新的拍照介面
查看应用程序耗电
支持虚拟私人网路(VPN)
支持更多的萤幕解析度。
支持OpenCore2媒体引擎
新增面向视觉或听觉困难人群的易用性外挂程式[75]
2.0/2.0.1/2.1
(Eclair)
基於Linux Kernel 2.6.29 2009年10月26日,2.0(Eclair 松饼)版本软体开发套件发
布。[76]主要的更新如下:[77]
优化硬体速度
"Car Home"程序
支持更多的萤幕解析度
改良的用户界面
新的浏览器的用户介面和支持HTML5
新的联系人名单
更好的白色/黑色背景比率
改进Google Maps 3.1.2
支持Microsoft Exchange
支持内置相机闪光灯
支持数码变焦
改进的虚拟键盘
支持蓝芽2.1
支持动态桌面的设计
2.2/2.2.1
(Froyo)
基於Linux Kernel 2.6.32 2010年5月20日,2.2(Froyo 冻酸奶)版本软体开发套件发
布。[78]主要的更新如下:
支持将软体安装至扩展内存[79]
集成Adobe Flash 10.1支援[80]
加强软体即时编译的速度[81]
新增软体启动"快速"至电话和浏览器[82]
USB分享器和WiFi热点功能[83]
支援在浏览器上传档案[84]
更新Market中的批次和自动更新[85]
增加对Microsoft Exchange的支援(安全政策, auto-discovery, GAL look-up)
整合Chrome的V8 JavaScript引擎到浏览器
加强快速搜索小工具
更多软体能透过Market更新,类似2.0/2.1中的Map更新
速度和性能优化[85]
注:部分标称为2.2的韧体仍然在使用2.6.29的核心。这种韧体可以实现大部分2.2的功能
(比如flash),但性能上与2.6.32有一定差距。
2.3
(Gingerbread)
基於Linux Kernel 2.6.35 2010年12月7日,2.3(Gingerbread 姜饼)版本软体开发套
件发布。[86]主要的更新如下:
修补UI[87]
支援更大的萤幕尺寸和解像度(WXGA及更高)
系统级复制粘贴
重新设计的多点触摸萤幕键盘
原生支持多个镜头(用於视频通话等)和更多感测器(陀螺仪、气压计等)
电话簿整合Internet Call功能
支援近场通信(NFC)
强化电源、应用程式管理功能
新增下载管理员
优化游戏开发支援
多媒体音效强化
从YAFFS转换到ext4文件系统
开放了萤幕截图功能
对黑色及白色的还原更加真实
3.0.1/3.1/3.2
(Honeycomb)
基於Linux Kernel 2.6.36 * 2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如
下:
仅供平板电脑使用
Google eBooks上提供数百万本书
支援平板电脑大萤幕、高解析度
新版Gmail
Google Talk视讯功能
3D加速处理
网页版Market(Web store)详细分类显示,依个人Android分别设定安装应用程式
新的短消息通知功能
专为平板电脑设计的用户界面(重新设计的通知列与系统列)
加强多工处理的介面
重新设计适用大萤幕的键盘及复制贴上功能
多个标签的浏览器以及私密浏览模式
快速切换各种功能的相机
增强的图库与快速卷动的联络人介面
更有效率的Email介面
支援多核心处理器
3.2优化7寸平板显示
4.0
(Ice Cream Sandwich)
基於Linux Kernel 3.0.1 * 2011年10月19日,4.0(Ice Cream Sandwich 冰淇淋三明治
)版本主要更新如下:
蓝色主题
相机内建全景(Panorama)模式
Gmail 外观有所改动
改动用户界面,新的启动画面,Home 画面右下角类似 Tray 的图示,内有多个程式
可运行
Google Search Bar 会设置在最上方
Apps/Widgets 会类似 Honeycomb 模样
系统字型由原先的Droid Sans变更为Roboto
(Jelly Bean)
[编辑] 系统架构
蓝色区块:应用程式、管理与服务元件。绿色区块:资料库元件。黄色区块:作业系统的
执行时期元件。红色区块:系统核心与驱动元件。
使用Android浏览器观看维基百科的情形
日本DoCoMo SH10B的特制化Android
HTC Sense的待机画面,图中宏达电Hero机背面还印有Google授权字样
[编辑] 应用程式
Android以Linux为核心的Android行动平台,使用Java作为程式语言,使介面到功能,都
有层出不穷的变化,其中Activity等同於J2ME的MIDlet,一个Activity类别负责建立视窗
,一个活动中的Activity就是在foreground(前景)模式,背景执行的程序叫做Service
。两者之间透过由ServiceConnection和AIDL连结,达到复数程序同时执行的效果。如果
执行中的Activity全部画面被其他Activity取代时,该Activity便被停止,甚至被系统清
除。
View等同於J2ME的Displayable,程式人员可以透过View类别与「XML layout」档将UI放
置在视窗上,Android 1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是
View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的
widget。至於ViewGroup是各种layout的基础抽象类别,ViewGroup之内还可以有
ViewGroup。View的构造函数不需要在Activity中调用,但是Displayable的是必须的,在
Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程
度上是从XML中读取的。View与事件息息相关,两者之间透过Listener结合在一起,每一
个View都可以注册一个event listener,例如:当View要处理使用者触碰的事件时,就要
向Android框架注册View.OnClickListener。另外还有Image等同於J2ME的BitMap。
[编辑] 中介软体
作业系统与应用程式的沟通桥梁,并用分为两层:函式层和虚拟机器。 Bionic是Android
改良libc的版本。Android同时包含了Webkit,所谓的Webkit就是Google Chrome浏览器背
後的引擎。Surface flinger是就2D或3D的内容显示到萤幕上。Android使用工具链为
Google自制的Bionic Libc。
Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、
Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility
Library(OSCL)、Common、OpenMAX。
Android使用Skia为核心图形引擎,搭配OpenGL/ES。Skia与Linux Cairo功能相当,但相
较於Linux Cairo, Skia功能还只是阳春型的。2005年Skia公司被Google收购,2007年初
,Skia GL源码被公开,目前Skia也是Google Chrome的图形引擎。
Android的多媒体资料库采用SQLite资料库系统。资料库又分为共用资料库及私用资料库
。使用者可透过ContentResolver类别取得共用资料库。
Android的中间层多以Java实作,并且采用特殊的Dalvik虚拟机器。Dalvik虚拟机器是一
种「暂存器型态」的Java虚拟机器,变数皆存放於暂存器中,虚拟机器的指令相对减少。
Dalvik虚拟机器可以有多个实例,每个Android应用程式都用一个自属的Dalvik虚拟机器
来执行,让系统在执行程式时可达到最佳化。Dalvik虚拟机器并非执行Java位元组码,而
是执行一种称为.dex格式的档案。
[编辑] 硬体抽像层
Android的硬体抽像层是能以封闭源码形式提供硬体驱动模组。HAL的目的是为了把
Android framework与Linux kernel隔开,让Android不至过度依赖Linux kernel,以达成
kernel independent的概念,也让Android framework的开发能在不考量驱动程式实作的
前提下进行发展。
HAL stub是一种代理人的概念,stub是以*.so档的形式存在。Stub向HAL「提供」操作函
数,并由Android runtime向HAL取得stub的operations,再callback这些操作函数。HAL
里包含了许多的stub(代理人)。Runtime只要说明「类型」,即module ID,就可以取得
操作函数。
[编辑] 程式语言
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 并没有 user space driver 这种东西。所有的Driver 还是在 Kernel space,
并以 HAL 隔开版权问题。bionic/libc/kernel/ 并非标准的kernel header files。
Android的kernel header是利用工具由Linux kernel header所产生的,这样做是为了保
留常数、资料结构与巨集。
目前Android的Linux kernel控制包括安全、记忆体管理、进程管理、网路堆叠、驱动程
式模型等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是
Android用来辅助Git工作的一个工具。
[编辑] 专利纠纷
《PC世界》杂志网站2011年9月22日报导,Android已卷入1000多件专利诉讼。2011年8月
,Google斥资125亿美元收购摩托罗拉移动及其拥有的约2.45万份专利组合[88]。
--
plurk
http://www.plurk.com/dasea2010
face book
http://www.facebook.com/dasea.chien
google+
https://plus.google.com/u/0/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.189.44