Android

来源:互联网 发布:手比脸白 知乎 编辑:程序博客网 时间:2024/06/06 11:40
 

Android(读音:['ændrɔid])是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。它由谷歌公司和开放手持设备联盟开发和领导。目前尚未有统一中文名称,“安卓”和“安致”是在中国大陆流行的另一个称呼。

Android操作系统最初由安迪·鲁宾(Andy Rubin)创办[3],最初主要支援手机。2005年8月17日被谷歌公司(Google)收购注资。[4] 2007年11月5日,谷歌公司与84家硬件制造商、软件开发商及电信运营商组成开放手持设备联盟(Open Handset Alliance)来共同开发改良Android操作系统并生产搭载Android的智能手机[5][6][7][8] ,并逐渐扩展到到平板电脑及其他领域上[9]。随后,Android获得了Apache免费开源许可证,谷歌公司发布了其源代码[10]。同时,一个负责进一步发展和维护Android操作系统的Android开源项目也被建立(AOSP)。[11]

Android的内核基于Linux,除了内核之外,则是中介层、数据库元和用C/C++编写的API以及应用程式框架。Android的应用程序通常以Java数据库元为基础编写,运行程序时,应用程式的代码会被即时转变为Dalvik dex-code (Dalvik Executable),然后Android操作系统通过使用即时编译的Dalvik虚拟机来将其运行。[12]

除了开放手持设备联盟之外,Android还拥有许多由全球各地开发者组成的开源社区来专门负责开发Android应用程式和第三方Android操作系统来延长和扩展Android的功能和性能。[13]截止至2011年10月,Android电子市场上拥有超过30万个认证的应用程式,电子市场的应用程式下载量也在2011年12月达到100亿次[14][15]。由于Android是开放的,因此它还可以通过第三方网站来下载安装电子市场上所没有的应用程式。

2010年末数据显示,仅正式推出两年的操作系统的Android在市场占有率上已经超越称霸十年的诺基亚Symbian系统[16][17] 。2011年8月,Android操作系统在全球智能手机操作系统的市场份额已达48%,成为全球第一大智能手机操作系统。[18]

目录

 [隐藏] 
  • 1名称来源
  • 2Logo来源
  • 3历史
    • 3.1成立
    • 3.2谷歌的收购
    • 3.3收购后的发展
    • 3.4开放手持设备联盟
    • 3.5许可证
  • 4系统设计
    • 4.1Linux内核
    • 4.2特点
  • 5硬件支持
  • 6应用程序
    • 6.1Android Market
    • 6.2应用程式安全机制
      • 6.2.1恶意程式与病毒
      • 6.2.2SEAndroid
    • 6.3中国大陆
  • 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公司专门制作的称之为“谷歌Droid字体”的字体[19]

Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象征[20]。有时候,它们还会使用纯文字的Logo。[21]

历史

成立

2003年10月,有“Android之父”之称的安迪·鲁宾(Andy Rubin)[22]在美国加利福利亚州的帕洛阿尔托建立了Android科技公司(Android Inc.),并与米奇·米纳尔(Rich Miner)[23] 、尼克·席尔斯(Nick Sears)[24]、克里斯·怀特(Chris White)[25]共同发展这家公司。谈到建立Android科技公司的原因,鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求”[26]。尽管Android科技公司的创始人和员工过去都具有各自的科技成就,但是Android科技公司的经营只显露出它在手机软件的方面。

同年,鲁宾为Android科技公司花光了所有的钱。就在这时,史蒂夫·帕尔曼(Steve Perlman)递给了鲁宾一个信封,在里面装有1万美金的现金,并且帕尔曼并不是以投资的方式给鲁宾这笔钱,因为他拒绝了鲁宾给他的股份。[27]

谷歌的收购

2005年8月17日,谷歌公司收购了Android科技公司,Android科技公司成为谷歌公司旗下的一部分,包括米奇·米纳尔、克里斯·怀特等所拥有的全资子公司,所有Android科技公司的员工都被并入谷歌公司。当时,没有人知道谷歌公司为什么作出这项收购,有许多的猜测,后来证明谷歌正是借助此次收购正式进入移动领域。

收购后的发展

在谷歌公司,鲁宾领导着一个负责开发基于Linux内核移动操作系统的团队,这个开发项目便是Android操作系统。谷歌公司的合作平台为Android提供了广阔的市场,谷歌公司给予各大硬件制造商、软件开发商一个灵活可靠的系统升级承诺,并保证将给予它们最新版本的操作系统。 2006年12月,美国“华尔街日报”和英国BBC电视台报道了谷歌有可能进入移动领域的传闻,谷歌公司有可能推广移动领域下的各种谷歌服务,并且将推出一款名为谷歌手机的自主品牌手机。另有传闻指出,按照谷歌的作风,将有可能呈现出新的手机制造商和运营商模式。 2007年9月,谷歌提交了多项移动领域的专利申请。但并没有人知道谷歌将会推出的是一款名为Android的手机操作系统,更多的猜测是谷歌会推出一款像iPhone一样的自主品牌手机系列。[28][29][30]

开放手持设备联盟

主条目:开放手持设备联盟
T-Mobile G1

2007年11月5日,在谷歌公司的领导下,开放手持设备联盟建立,最开始的一批创始成员包括Broadcom公司、HTC、Intel、LG、Marvell等公司。开放手持设备联盟的建立目的是为了创建一个更加开放自由的移动手机环境。而在开放手持设备联盟创建的同一天,联盟对外展示了他们的第一个产品,一台搭载了以Linux 2.6为内核基础的Android操作系统的智能手机。 2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼爱立信等公司。[31][32]

许可证

Android操作系统使用开放免费源代码许可证,一切源代码都是公开免费[33] 的。谷歌对Android所使用的Linux内核依据Apache开源条款2.0中所规定的内容进行了修改,[34][35][36][37]包括添加手机网络和电话协议栈等手机所必需的功能,使它们能更好的在移动设备上运行,并且根据第二版GNU条款中所规定的内容对修改的Linux内核信息公布。谷歌也不断发布问卷和开放修改清单、更新情况和源代码来让任何人看到并且提出他们的意见和评论,以便按照用户的要求改进Android操作系统。 Android操作系统是完全免费开源的,任何厂商都可以不经过谷歌和开放手持设备联盟的授权随意使用Android操作系统,但是制造商不能随意地在自己的产品上使用谷歌(谷歌)的标志和谷歌的应用程序,例如Android Market等,除非谷歌证明其生产的产品设备符合谷歌兼容性定义文件(CDD),这样才能在手机上预装Android Market、Gmail等应用程序,并且获得CDD的手机厂商也可以在其生产的手机上印上“With 谷歌”的标志[38]

系统设计

Linux内核

Android操作系统的内核属于Linux内核的一个分支,具有典型的Linux周期和功能,[39]除此之外,谷歌公司为了能让Linux在移动设备上良好的运行,对其进行了修改和扩充。Android去除了Linux中的本地X Window System,也不支持标准的GNU库,这使得Linux平台上的应用程序移植到Android平台上变得困难[40]。2008年,Patrick Brady于谷歌 I/O演讲“Anatomy & Physiology of an Android”,并提出的Android HAL架构图。HAL以*.so档的形式存在,可以把Android framework与Linux kernel隔开,这种中介层的方式使得Android能在移动设备上获得更高的执行效率。这种独特的系统结构被Linux内核开发者Greg Kroah-Hartman和其他内核维护者称赞。谷歌还在Android的内核中加入了自己开发制作的一个名为“wakelocks”的移动设备电源管理功能,该功能用于管理移动设备的电池性能,但是该功能并没有被加入到Linux内核的主线开放和维护中,因为Linux内核维护者认为谷歌没有向他们展示这个功能的意图和代码。 2010年2月3日,由于谷歌在Android内核开发方面和Linux社区方面开发的不同步,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去。[41]2010年4月,谷歌宣布将派遣2名开发人员加入Linux内核社区,以便重返Linux内核。2010年9月,Linux内核开发者Rafael J. Wysocki添加了一个修复程序,使得Android的“wakelocks”可以轻松地与主线Linux内核合并。2011年,Linus Torvalds说:“Android的内核和Linux的内核将最终回归到一起,但可能不会是4-5年。”

特点

当前的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操作系统从最初的版本开始就支持使用语音操作来使用谷歌进行网页搜索等功能。而从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操作系统,比如谷歌公司的谷歌 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++语言来作为编程语言开发应用程序。同时谷歌还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的Visual Basic语言。此外,谷歌公司还推出了谷歌 App Inventor开发工具,该开发工具可以快速地构建应用程式,方便新手开发者。

Android Market

主条目:Android Market

Android Market,目前没有规范的中文名,中国大陆地区大多使用“电子市场”以及“谷歌市场”来称呼。 2009年2月,谷歌推出Android Market线上应用程式商店,用户可在该平台网页寻找、购买、下载及评级使用手机应用程序及其他内容[44]。第三方软件开发商和自由开发者则可以通过Android Market发布其开发的应用程序。截止至2011年10月,Android Market上已有超过30万个应用程序,并且在2011年12月,Android Market上的应用程序下载量超过100亿次。同时,全球已有1.3亿台Android设备在Android Market上下载过软件。

只有通过谷歌公司许可并且认证的厂家才能在其产品设备上安装谷歌服务框架和Android Market。同时受到部分地区和国家政策的影响,谷歌根据部分地区和国家的政策对Android Market上的内容进行了过滤,因此各地区和国家看到的内容不一样。此外,受到部分地区和国家的电信运营商的影响,Android Market在部分地区和国家可能不可使用。

Android Market™内的付费程序在许多国家与地区内提供,如美国、英国、瑞典、德国、斯里兰卡、泰国、越南、香港、台湾[45]等。[46]由于受到谷歌退出中国事件影响,目前Android Market的服务还没有扩展到中国大陆地区,但大陆用户仍可通过国际信用卡和相关的免费软件来完成购买。需要注意的是,通过这种方法购买的软件可能不会得到当地承认的发票(Invoice)。

除了谷歌的Android Market之外,还有其他公司的应用程式市场,如亚马逊公司的Amazon Appstore[47],它们都提供在线的APK程序的安装和下载。

应用程式安全机制

Android操作系统使用了沙盘机制,所有的应用程序都会先被简单地解包到沙盘中进行检查,并且将应用程序所需的权限提交给系统,并且将其所需权限以列表的形式展现出来,供用户查看。例如一个第三方浏览器需要“链接网络”的权限,或者一些软件需要拨打电话,发送短信等权限。用户可以根据权限来考虑自己是否需要安装,用户只有在同意了应用程式权限之后,才能进行安装[48]

恶意程式与病毒

由于Android操作系统的开放和自由性,一些恶意程式和病毒也随之出现。2010年8月,卡巴斯基病毒实验室报告称发现了Android操作系统上首个木马程序,并将其命名为“Trojan-SMS.AndroidOS.FakePlayer.a”[49],这是一个通过短信方式感染手机的木马,并且已经感染了一定数量的Android设备。除了短信感染方式,这些Android木马还可以伪装成一些主流的应用程式,并且还可以隐藏在一些正规的应用程式之中[50][51]。尽管谷歌公司通过定期的检查撤除这些存在与Android Market 上的恶意程式和病毒,但是这并不能完全阻止其他病毒通过第三方网络的方式产生并且传播[52]。目前Android操作系统上已经拥有防病毒程式来防止手机中毒,例如Kaspersky、Trend Micro、Symantec 等防护软件也已经发布了Android版本。

SEAndroid

美国国家安全局在2012年1月发布SEAndroid开源项目和程式码,使Android系统支援强制存取控制(Mandatory Access Control)以增加系统安全性。[53][54]

中国大陆

目前在中国大陆售卖的Android手机行货手机,几乎所有厂商包括摩托罗拉、三星、HTC等,均把谷歌服务包完全删除,中国用户需要重新刷机或重新安装谷歌服务包才能使用谷歌的应用服务。步骤是先安装谷歌服务框架(谷歌ServicesFramework.apk)、日历同步(谷歌CalendarSyncAdapter.apk)、Gmail(邮箱官方客户端 Gmail.apk)、联系人同步(谷歌ContactsSyncAdapter.apk)和谷歌搜索(谷歌QuickSearchBox.apk)这5款应用软件。如需谷歌地图、Gtalk,在安装完上述5款应用后,可再搜索下载地图、Gtalk等应用。谷歌服务框架(谷歌ServicesFramework.apk)是上述应用程序的核心,要想使用谷歌的其他服务,必须先安装它。

因受防火长城干扰,在中国大陆使用谷歌应用服务(包括Market)有时会出现无法连线的情况,需开启VPN或ROOT机后修改Hosts。中国用户因国行没有官方Market,不少人只能被迫使用第三方服务,如安卓市场等。

市场使用情况

市场份额

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月,谷歌表示,每天通过谷歌服务器激活的Android设备达到了55万台[59],并且以每周4.4%的速度增长.[60]。2011年8月1日,Canalys的数据显示,Android已占据美国48%的智能手机市场份额[61]。2011年10月13日,谷歌表示,全球市场上有1.9亿台Android设备通过谷歌认证[62],而在2011年11月16日,全球市场上已有2亿台Android设备通过谷歌认证[63]。但是,搭载Android操作系统的平板电脑却只有1.9%的份额,只有380万Android蜂巢平板被卖出,远远低于苹果公司的iPad的销量。[64]

用户使用系统版本比例

Android chart.png

截止至2011年12月1日,不同的Android操作系统版本的用户比例。[65]

版本
版本名称API level %4.0 冰激凌三明治14-150%3.x.x 蜂巢11-132.4%2.3.x 姜饼9-1050.6%2.2 冻酸奶835.3%2.1 闪电泡芙79.6%1.6 甜甜圈41.3%1.5 纸杯蛋糕30.8%

另外,Android操作系统还有两个内部版本,它们分别是:铁臂阿童木(Astro)和发条机器人(Bender),在这两个版本之后,谷歌为了避免商标问题,将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.272009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。[69][70]

[71]主要的更新如下:

  • 拍摄/播放影片,并支持上传到Youtube
  • 支持立体声蓝牙耳机,同时改善自动配对性能
  • 最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索
  • GPS性能大大提高
  • 提供屏幕虚拟键盘
  • 主屏幕增加音乐播放器和相框widgets
  • 应用程序自动随着手机旋转
  • 短信、Gmail、日暦,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件
  • 相机启动速度加快,拍摄图片可以直接上传到Picasa
  • 来电照片显示[72]
1.6
(Donut)
基于Linux Kernel 2.6.292009年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.292009年10月26日,2.0(Eclair 松饼)版本软件开发套件发布。[76]主要的更新如下:[77]
  • 优化硬件速度
  • "Car Home"程序
  • 支持更多的屏幕分辨率
  • 改良的用户界面
  • 新的浏览器的用户接口和支持HTML5
  • 新的联系人名单
  • 更好的白色/黑色背景比率
  • 改进谷歌 Maps 3.1.2
  • 支持Microsoft Exchange
  • 支持内置相机闪光灯
  • 支持数码变焦
  • 改进的虚拟键盘
  • 支持蓝牙2.1
  • 支持动态桌面的设计
2.2/2.2.1
(Froyo)
基于Linux Kernel 2.6.322010年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.352010年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 蜂巢)版本主要更新如下:
  • 仅供平板电脑使用
  • 谷歌 eBooks上提供数百万本书
  • 支援平板电脑大萤幕、高分辨率
  • 新版Gmail
  • 谷歌 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 的图示,内有多个程式可运行
  • 谷歌 Search Bar 会设置在最上方
  • Apps/Widgets 会类似 Honeycomb 模样
  • 系统字型由原先的Droid Sans变更为Roboto

(Jelly Bean) 

系统架构

蓝色区块:应用程式、管理与服务元件。绿色区块:数据库元件。黄色区块:操作系统的执行时期元件。红色区块:系统核心与驱动元件。
使用Android浏览器观看维基百科的情形
日本DoCoMo SH10B的特制化Android
HTC Sense的待机画面,图中宏达电Hero机背面还印有谷歌授权字样

应用程式

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就是谷歌 Chrome浏览器背后的引擎。Surface flinger是就2D或3D的内容显示到萤幕上。Android使用工具链为谷歌自制的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公司被谷歌收购,2007年初,Skia GL源码被公开,目前Skia也是谷歌 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月,谷歌斥资125亿美元收购摩托罗拉移动及其拥有的约2.45万份专利组合[88]

参见

  • Android装置列表(搭载Android系统的装置产品)
  • Android Market

参考资料

  1. ^ Lextrait, Vincent. The Programming Languages Beacon, v10.0 [5 January 2010]. 
  2. ^Licenses. Android Open Source Project.Open Handset Alliance [2010-06-10]. 
  3. ^ Android之父Andy Rubin:生而Geek作者:wuzhimin本文来自《程序员》杂志2010年9期
  4. ^ Google Buys Android for Its Mobile Arsenal. Businessweek.com. 2005-08-17[2010-10-29]. 
  5. ^Open Handset Alliance. Open Handset Alliance[2010-06-10]. 
  6. ^ Jackson, Rob. Sony Ericsson, HTC Androids Set For Summer 2009. Android Phone Fans. 10 December 2008[2009-09-03]. 
  7. ^Open Handset Alliance.Industry Leaders Announce Open Platform for Mobile Devices, 新闻稿. 2007-11-05 [2007-11-05]. 
  8. ^ Open Handset Alliance.FAQ, 新闻稿[2010-11-15]. 
  9. ^ Android开发简介developerWorks IBM 2009年6月08日
  10. ^Android Overview. Open Handset Alliance[2008-09-23]. 
  11. ^About the Android Open Source Project[2010-11-15]. 
  12. ^ Tim Bray. What Android Is. ongoing by Tim Bray. 24 November 2010 [27 October 2011]. 
  13. ^ Shankland, Stephen. 谷歌's Android parts ways with Java industry group. CNET News. 12 November 2007. 
  14. ^Android Market reaches 500,000 app mark. www.t3.com. 2011-10-23[2011-10-23]. 
  15. ^Christina Bonnington.Google’s 10 Billion Android App Downloads: By the Numbers. wired.com. 8 December 2011[12 December 2011]. 
  16. ^Tarmo Virki and Sinead Carew.谷歌 topples Symbian from smartphones top spot. Reuters. 2011-01-31 [1 February 2011]. 
  17. ^ Google's Android becomes the world's leading smart phone platform (Canalys research release: r2011013). Canalys. 31 January 2011[1 February 2011]. 
  18. ^ Android市场份额已达48%Canalys数据2011/02/01
  19. ^ Woyke, Elizabeth. Android's Very Own Font. Forbes. 26 September 2008. 
  20. ^ Brand Guidelines. Android. 23 March 2009[2009-10-30]. 
  21. ^ Android Brand Guidelines. Android. 23 March 2009[2010-04-10]. 
  22. ^Markoff, John.I, Robot: The Man Behind the Google Phone. The New York Times. 2007-11-04 [2008-10-14]. 
  23. ^Kirsner, Scott.Introducing the 谷歌 Phone. The Boston Globe. 2007-09-02 [2008-10-24] (原始内容存档于January 4, 2010). 
  24. ^ Nokia. T-Mobile Brings Unlimited Multiplayer Gaming to US Market with First Launch of Nokia N-Gage Game Deck, 新闻稿. 23 September 2003[2009-04-05]. 
  25. ^ Elgin, Ben. 谷歌 Buys Android for Its Mobile Arsenal. BusinessWeek. 17 August 2005 [2009-04-23]. 
  26. ^Elgin, Ben.Google Buys Android for Its Mobile Arsenal. businessweek.com. Bloomberg L.P. 2005-08-17[2011-02-24] (原始内容存档于2011-02-24). "In what could be a key move in its nascent wireless strategy, 谷歌 (GOOG) has quietly acquired startup Android Inc...." 
  27. ^Vance, Ashlee.A Thousand Times Yes. Bloomberg BusinessWeek. 2011-08-07 [2011-11-09]. 
  28. ^Block, Ryan.Google is working on a mobile OS, and it's due out shortly. Engadget. 2007-08-28 [2007-11-06]. 
  29. ^ Sharma, Amol; Delaney, Kevin J.. 谷歌 Pushes Tailored Phones To Win Lucrative Ad Market. The Wall Street Journal. 2007-08-02 [2007-11-06]. 
  30. ^ Google admits to mobile phone plan. directtraffic.org. 谷歌 News. 2007-03-20[2007-11-06]. 
  31. ^ Martinez, Jennifer. Corrected: Update 2: More mobile phone makers back 谷歌's Android. Reuters. Thomson Reuters. 2008-12-10 [2008-12-13]. 
  32. ^ Kharif, Olga. Google's Android Gains More Powerful Followers. BusinessWeek. McGraw-Hill. 2008-12-09 [2008-12-13]. 
  33. ^ Boulton, Clint. 谷歌 Open-Sources Android on Eve of G1 Launch. eWeek. 21 October 2008 [2009-09-03]. 
  34. ^ Bort, Dave. Android is now available as open source. Android Open Source Project. 21 October 2008[2009-09-03]. .Mirror link.
  35. ^ Licenses: Android Open Source. Android Open Source Project[25 October 2011]. 
  36. ^ Ryan Paul. Why Google chose the Apache Software License over GPLv2 for Android. Ars Technica[25 October 2011]. 
  37. ^ Android issues reviewed. Code.google.com[2011-08-08]. 
  38. ^Android Open Source Project Frequently Asked Questions: Compatibility. source.android.com[13 March 2011]. 
  39. ^ Androidology – Part 1 of 3 – Architecture Overview, [Video].YouTube. 2008-09-06[2007-11-07]. 
  40. ^ Paul, Ryan. Dream(sheep++): A developer's introduction to Google Android. Ars Technica. 23 February 2009[2009-03-07]. 
  41. ^ 新浪科技. 谷歌Android被Linux内核除名. 2010年2日4 [2010年4月9日](简体中文). 
  42. ^ 谷歌手机亮相苹果日报2008年02月12日
  43. ^ Android称王 扳倒不败诺基亚联合新闻网2011/02/01
  44. ^ 谷歌推出Anroid Market在线软件平台新浪科技2008年08月29日09:31
  45. ^ 注:因谷歌与台北市政府间对于软件是否适用7日鉴赏期的消费者保护法规存在争议,2011年7月起暂停了台湾的付费软件下载。
  46. ^ Paid App Availability (In English) 谷歌 Inc. 2011
  47. ^Ganapati, Priya.Independent App Stores Take On Google’s Android Market. Wired News. June 11, 2010[2011-02-02]. 
  48. ^ Android Security Overview. Android Open Source Project[23 October 2011]. 
  49. ^ First SMS Trojan detected for smartphones running Android. Kaspersky Lab[2010-10-18]. 
  50. ^ The Mother Of All Android Malware Has Arrived. Android Police. March 6, 2011. 
  51. ^ Perez, Sarah. Android Vulnerability So Dangerous, Owners Warned Not to Use Phone's Web Browser. Readwriteweb.com. 2009-02-12[2011-08-08]. 
  52. ^ 谷歌 Responds To Android Malware, Will Fix Infected Devices And ‘Remote Kill’ Malicious Apps.TechCrunch. March 6, 2011. 
  53. ^ SEAndroid
  54. ^ The Case for SE Android
  55. ^Canalys: iPhone outsold all Windows Mobile phones in Q2 2009. AppleInsider. 2009-08-21[2009-09-21]. 
  56. ^ Gartner Says Sales of Mobile Devices Grew 5.6 Percent in Third Quarter of 2011; Smartphone Sales Increased 42 Percent. 15 November 2011[16 November 2011]. 
  57. ^comScore Reports February 2010 U.S. Mobile Subscriber Market Share. Comscore.com. 5 April 2010[24 December 2010]. "RIM, 42.1%; Apple, 25.4%; Microsoft, 15.1%; 谷歌 (Android), 9.0%; Palm, 5.4%; others, 3.0%" 
  58. ^ comScore Reports September 2010 U.S. Mobile Subscriber Market Share. Comscore.com. 3 November 2010 [24 December 2010]. 
  59. ^ 谷歌 activates 500,000 Android devices a day, may reach 1 million in October. Yahoo News. 28 June 2011. 
  60. ^ Kumparak, Greg. Android Now Seeing 550,000 Activations Per Day. Techcrunch. 14 July 2011. 
  61. ^ Android takes almost 50% share of worldwide smart phone market. 1 August 2011[2011-08-05]. 
  62. ^ Erick Schonfeld. Larry Page: Mobile Revenues At $2.5 Billion Run-Rate, 190 Million Android Devices. TechCrunch. 13 October 2011[24 October 2011]. 
  63. ^ Lance Whitney. 谷歌: 200 million Android devices now active worldwide. CNET News. 2011-11-17 [27-11-2011]. 
  64. ^ Charlie Sorrel. Only 3.8 Million Honeycomb Tablets Sold So Far. Wired.com. 2011-11-17 [27-11-2011]. 
  65. ^ Android Platform Versions. Android Developers. 03-11-2011[02-12-2011]. 
  66. ^ Google Keynote at AnDevCon II. Development Team. 09 November 2011. 
  67. ^ 有传闻 Android 2.1 使用“Flan”(水果馅饼)作为代号,后证实2.1仍为Éclair,2.2为Froyo
  68. ^ 谷歌:Chrome与Android系统各有分工
  69. ^ Ducrohet, Xavier. Android 1.5 is here!. Android Developers Blog. 27 April 2009 [2009-09-03]. 
  70. ^ android 3.0 tablet
  71. ^ Rob, Jackson. CONFIRMED: Official Cupcake Update Underway for T-Mobile G1 USA & UK!. Android Phone Fans. 30 April 2009[2009-09-03]. 
  72. ^ Android 1.5 Platform Highlights. Android Developers. April 2009[2009-09-03]. 
  73. ^ Ducrohet, Xavier. Android 1.6 SDK is here. Android Developers Blog. 15 September 2009 [2009-10-01]. 
  74. ^ Ryan, Paul. 谷歌 releases Android 1.6; Palm unleashes WebOS 1.2. ars technica. 1 October 2009[2009-10-01]. 
  75. ^ Android 1.6 Platform Highlights. Android Developers. September 2009[2009-10-01]. 
  76. ^ Android 2.0, Release 1. Android Developers[27 October 2009]. 
  77. ^ Android 2.0 Platform Highlights. Android Developers[27 October 2009]. 
  78. ^ Savov, Vladislav. Next Android version will be called Froyo, says Erick Tseng. Engadget.com. 16 January 2010[2010-01-16]. 
  79. ^ Android support for memory card app storage is finally "coming soon". 谷歌 Code[1 May 2010]. 
  80. ^ Google's Andy Rubin on Everything Android. NY Times[20 May 2010]. 
  81. ^ Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster. androidpolice [13 May 2010]. 
  82. ^ A Video Of An Adobe Evangelist Showcasing Flash 10.1 Smoothly Running On A Nexus One With Android 2.2 Froyo. androidpolice [13 May 2010]. 
  83. ^ Exclusive: Google To Add Tethering, Wifi Hotspot To Android 2.2 Froyo. TechCrunch. 13 May 2010[13 May 2010]. 
  84. ^ Browser support for file upload field is coming in Froyo. 谷歌 Code[13 May 2010]. 
  85. ^ 85.0 85.1 Unofficially Confirmed Froyo Features, Post-Day-1 Of Google I/O. Android Police [20 May 2010]. 
  86. ^ Android 2.3 Gingerbread正式登场、新功能全面睇!. 
  87. ^ Android Team“Laser Focused”On The User Experience For Next Release. 
  88. ^ 《最近比较烦? 细数Android成长之烦恼》王彦恩,中关村在线,2011年09月29日。

外部链接

  • Android官方网站(英文)
    • Android开源计划(英文)
    • Android Market官方电子市场(中文)
    • Android Developers(英文)
  • 谷歌 Projects for Android -谷歌 Code(中文)
  • Android Wiki(英文)
  • Sergey Brin introduces the Android platform 于YouTube
  • 在开放式目录计划中查阅Android的相关内容
原创粉丝点击