Android简史
本文摘自维基百科
Android(读音:[ˈændrɔid],中文俗称安卓)是一个以Linux为基础的开放源代码操作系统,主要用于移动设备,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。安卓已发布的最新版本为Android 4.3。
Android系统最初由安迪·鲁宾(Andy Rubin)开发制作,最初开发这个系统的目的是利用其创建一个能够与PC上网的“智能手机”生态圈。但是后来,智能手机市场开始快速成长,Android被改造为一款面向手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放源代码许可证的授权方式,发布了Android的源代码。让生产商推出搭载Android的智能手机,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。
Google通过官方网上商店平台Google Play,提供应用程序和游戏供用户下载,截止至2012年6月,Google Play商店拥有超过60万个官方认证应用程序。同时用户亦可以通过第三方网站来下载。
2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。
开发者 | Google, Open Handset Alliance |
---|---|
编程语言 | C(核心),C++(有些第三方),Python,Java(用户界面) |
运作状态 | 开发中 |
源码模式 | 自由及开放源代码软件 |
初始版本 | 2008年10月21日 |
稳定版本 | 平板电脑: 4.3(Jelly Bean) / 2013年7月24日;2个月前移动电话: 4.3(Jelly Bean) / 2013年7月24日;2个月前 |
支持平台 | ARM、MIPS、Power Architecture、x86 |
内核类型 | 宏内核(Linux核心) |
默认用户界面 | 图形用户界面 |
授权条款 | Apache 2.0 许可证 对 Linux 核心的修改部分则使用GPLv2 |
官方网站 | android.com |
1. 历史
成立
2003年10月,有“Android之父”之称的安迪·鲁宾(Andy Rubin)在美国加利福尼亚州帕洛阿尔托创建了Android科技公司(Android Inc.),并与利奇·米纳尔(Rich Miner) 、尼克·席尔斯(Nick Sears)、克里斯·怀特(Chris White)共同发展这家公司。谈到创建Android科技公司的原因,鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求。”尽管Android科技公司的创始人和员工过去都具有各自的科技成就,但是Android科技公司的经营只显露出它在智能手机软件的方面。
同年,鲁宾为Android科技公司花光了所有的钱。就在这时,史蒂夫·帕尔曼(Steve Perlman)递给了鲁宾一个信封,在里面装有1万美金的现金;帕尔曼并不是以投资的方式给鲁宾这笔钱,因为他拒绝了鲁宾给他的股份。
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一样的自有品牌智能手机系列。
成立开放手持设备联盟
2007年11月5日,在Google的领导下,成立开放手持设备联盟(Open Handset Alliance),最早的一批成员包括Broadcom公司、HTC、Intel、LG、Marvell等公司。开放手持设备联盟的创建目的是为了创建一个更加开放自由的移动电话环境。而在开放手持设备联盟创建的同一日,联盟对外展示了他们的第一个产品:一部搭载了以Linux 2.6为核心基础的Android操作系统的智能手机。2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼等公司。
同时,一个负责持续发展Android操作系统的开源代码项目成立了AOSP(Android Open Source Project)。除了开放手持设备联盟之外,Android还拥有全球各地开发者组成的开源社区来专门负责开发Android应用程序和第三方Android操作系统来延长和扩展Android的功能和性能。
许可证
Android操作系统使用开放免费代码许可证,一切代码都是公开免费的。Google对Android所使用的Linux核心依据Apache开源条款2.0中所规定的内容进行了修改,包括添加智能手机网络和电话协议栈等智能手机所必需的功能,使它们能更好的在移动设备上运行,并且根据第二版GNU条款中所规定的内容对修改的Linux核心信息公布。Google也不断发布问卷和开放修改清单、更新情况和代码来让任何人看到并且提出他们的意见和评论,以便按照用户的要求改进Android操作系统。
Android操作系统是完全免费开源的,任何厂商都可以不经过Google和开放手持设备联盟的授权随意使用Android操作系统;但是制造商不能随意地在自己的产品上使用Google的标志和Google的应用程序,例如Google Play等。除非Google证明其生产的产品设备符合Google兼容性定义文件(CDD),这样才能在智能手机上预装Google Play Store、Gmail等应用程序,并且获得CDD的智能手机厂商也可以在其生产的智能手机上印上“With Google”的标志。
2. 系统设计
Linux核心
Android操作系统的核心属于Linux核心的一个分支,具有典型的Linux调度和功能,除此之外,Google为了能让Linux在移动设备上良好的运行,对其进行了修改和扩充。Android去除了Linux中的本地X Window System,也不支持标准的GNU库,这使得Linux平台上的应用程序移植到Android平台上变得困难。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”)上除去。2010年4月,Google宣布将派遣2名开发人员加入Linux核心社区,以便重返Linux核心。2010年9月,Linux核心开发者Rafael J. Wysocki添加了一个修复程序,使得Android的“wakelocks”可以轻松地与主线Linux核心合并。2011年,Linus Torvalds说:“Android的核心和Linux的核心将最终回归到一起,但可能不会是4-5年。”在Linux 3.3中大部分代码的集成完成。
特点
当前的Android操作系统具有以下几个功能:
显示布局
Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGL ES 3.0标准规格(4.3版本开始支持OpenGL ES 3.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故障处理中均获得了满分,并且于2.2版及之后能原生支持Flash,4.0版本后去除对Flash的支持。
支持Java
虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序。
媒体支持
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/微博/共享等方式发送给其他用户或者上传到网络上,也可以拷贝到电脑中。
3. 硬件支持
由于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、Windows Phone产品也一样可以。另外Android亦已成功移植到搭载WebOS系统HP TouchPad以及搭载Meego系统的Nokia N9等设备。
世界上第一部真正意义上使用Android操作系统的设备是2008年10月22日发布的HTC Dream。
Android可以像用电脑上网一样,使用任何服务。Android对手有苹果公司的iOS操作系统及诺基亚的Symbian及Microsoft的Windows Phone 7及RIM使用的BlackBerry OS系统。
4. 应用程序
Google Play
Google Play,前身为Android Market,目前没有规范的中文名,中国大陆地区大多使用“电子市场”以及“Google市场”来称呼,因Android Market的LOGO像菜市场用的袋子,所以部分中国用户又称之为“菜市场”。
2009年2月,Google推出Android Market线上应用程序商店,用户可在该平台网页寻找、购买、下载及评级使用智能手机应用程序及其他内容。第三方软件开发商和自由开发者则可以通过Android Market发布其开发的应用程序。截止至2011年10月,Android Market上已有超过30万个应用程序,并且在2011年12月,Android Market上的应用程序下载量超过100亿次。同时,全球已有1亿3千万部Android设备在Android Market即现在的Google Play上下载过软件。
只有通过Google许可并且认证的厂家才能在其产品设备上安装Google服务框架和Google Play。同时受到部分地区和国家的政策影响,Google根据部分地区和国家的政策对Google Play上的内容进行了过滤,因此各地区和国家看到的内容不一样。此外,受到部分地区和国家的电信运营商的影响,Google Play在部分地区和国家可能不可使用。
Google Play内的付费程序在许多国家与地区内提供,如美国、英国、瑞典、德国、斯里兰卡、泰国、越南、香港、台湾等。由于受到Google退出中国事件影响,目前Google Play的服务还没有扩展到中国大陆地区,但大陆用户仍可通过国际信用卡和相关的免费软件来完成购买。需要注意的是,通过这种方法购买的软件可能不会得到当地承认的发票(Invoice)。
除了Google的Google Play之外,还有其他公司的应用程序市场,如亚马逊公司的Amazon Appstore,它们都提供在线的APK程序的安装和下载。
程序开发
在早期的Android应用程序开发中,通常通过在Android SDK(Android软件开发包)中使用Java作为编程语言来开发应用程序。开发者亦可以通过在Android NDK(Android Native开发包)中使用C语言或者C++语言来作为编程语言开发应用程序。同时Google还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的Visual Basic语言。此外,Google还推出了Google App Inventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。
应用程序安全机制
Android操作系统使用了沙箱(sandbox)机制,所有的应用程序都会先被简单地解压缩到沙箱中进行检查,并且将应用程序所需的权限提交给系统,并且将其所需权限以列表的形式展现出来,供用户查看。例如一个第三方浏览器需要“连接网络”的权限,或者一些软件需要拨打电话,发送短信等权限。用户可以根据权限来考虑自己是否需要安装,用户只有在同意了应用程序权限之后,才能进行安装。
恶意程序与病毒
由于Android操作系统的开放和自由性,一些恶意程序和病毒也随之出现。2010年8月,卡巴斯基病毒实验室报告称发现了Android操作系统上首个木马程序,并将其命名为“Trojan-SMS.AndroidOS.FakePlayer.a”,这是一个通过短信方式感染智能手机的木马,并且已经感染了一定数量的Android设备。除了短信感染方式,这些Android木马还可以伪装成一些主流的应用程序,并且还可以隐藏在一些正规的应用程序之中。
尽管Google通过定期的检查撤除这些存在于 Google Play 上的恶意程序和病毒,但是这并不能完全阻止其他病毒通过第三方网络的方式产生并且传播。
目前Android操作系统上已经拥有防病毒程序来防止设备中毒,例如 Avast、F-Secure、Kaspersky、Trend Micro、Symantec、 金山毒霸等防护软件也已经发布了Android版本。
某些病毒,目前经过Cross-Compile的测试,证实在Linux上他们无法正常运作。
盗版问题
由于第三方市场流行,Android用户大多不愿意付费购买应用,转而直接下载已被黑客破解的软件文件,对应用开发者造成严重损失。有游戏开发者针对其作品的调查指出,97%亚洲玩家、70%欧洲玩家及47%北美玩家都下载盗版。
SEAndroid
美国国家安全局在2012年1月发布SEAndroid开源项目和代码,使Android系统支持强制访问控制(Mandatory Access Control)以增加系统安全性。
在中国的情况
在中国大陆售卖的装有Android操作系统的代理商入口智能手机,为适应中国用户的需求,大部分厂商,包括摩托罗拉、三星、HTC等,均把Android附带的部分Google应用程序删除,替换为中国大陆功能相同或相似的应用。中国大陆用户需要自行重新刷机或破解Root权限后,重新安装程序才能使用Google相关的应用服务。但装有Android系统的水货智能手机,因没有在中国大陆正式发售,则不受此影响。
5. 市场使用情况
市场份额
2009年第二季度,根据市场研究公司Canalys的数据显示,Android占据全球智能手机操作系统市场2.8%的份额,这个数字在2010年第四季度的全球份额中增长到了33%,Android操作系统也因此击败了诺基亚的Symbian系统成为了全球第一大智能手机操作系统。2012年5月,根据市场调查公司的数据显示,Android操作系统在全球智能手机操作系统中的份额已经过半,达到了60%,全球有一半的智能手机使用Android操作系统。
2010年5月的数据显示,Android操作系统在2010年第一季度的销量超过了对手iOS平台,成为美国最大的智能手机操作系统。
根据本土市场研究公司ComScore的数据显示,2009年11月时,Android在美国的智能手机操作系统市场的占有率为5.2%,在2010年2月时,这个数字变成了9.0%,而在2010年第三季度末时,Android已经占据了美国市场的21.4%的份额。截止至2011年6月,Google表示,每日通过Google服务器激活的Android设备达到了55万部,并且以每周4.4%的速度增长。2011年8月1日,Canalys的数据显示,Android已占据美国48%的智能手机市场份额。2011年10月13日,Google表示,全球市场上有1.9亿部Android设备通过Google认证,而在2011年11月16日,全球市场上已有2亿部Android设备通过Google认证。但是,搭载Android操作系统的平板电脑却只有1.9%的份额,只有380万Android蜂巢平板被卖出,远远低于苹果公司的iPad的销量。
2012年6月,Google在2012 Google I/O大会上表示全球市场上有4亿部Android设备被启动,每日启动约一百万部
2013年5月,Android在中国的占有率有71.5%,超过其主要竞争对手苹果公司约50%。世界占有率亦有近70%。
用户使用系统版本比例
截止至2013年9月4日,不同的Android操作系统版本的用户比例。
版本名称 | API level | 用户分布 |
---|---|---|
4.2.x Jelly Bean 果冻豆 | 17 | 8.5% |
4.1.x Jelly Bean 果冻豆 | 16 | 36.6% |
4.0.x Ice Cream Sandwich 冰激凌三明治 | 14-15 | 21.7% |
3.x.x Honey Comb 蜂巢 | 11-13 | 0.1% |
2.3.x Ginger Bread 姜饼 | 9-10 | 30.7% |
2.2 Froyo 冻酸奶 | 8 | 2.4% |
6. 版本
Android操作系统曾有两个内部版本,分别是阿童木(Astro)和发条机器人(Bender),在这两个版本之后,Google为了避免商标问题,将Android操作系统的代号由机器人系列转变为了现在的甜点系列。而现时Android系统以差不多每半年一次的步伐进行升级,比如1.5版叫做Cupcake(纸杯蛋糕)、1.6版为Donut(甜甜圈)、2.0/2.1版为Éclair(闪电泡芙,一种法式奶油夹心甜点)、2.2版为Froyo(冻酸奶)、2.3版为Gingerbread(姜饼)、3.0版为Honeycomb(蜂窝)、4.0版为Ice Cream Sandwich(冰激凌三明治)、4.1/4.2/4.3版称为Jelly Bean(果冻豆)及4.4版称为Kitkat(奇巧巧克力)。这些是以A、B、C、D、E、F、G、H、I、J、K字头顺序来排列的。
由于Android平台的高度开放和对软件升级架构尚欠规范,导致Android产品往往因新版软件的硬件要求过高,或致设备厂商无法保证对其产品提供最新版软件更新,或致厂商拒绝支持而无法更新,令产品寿命周期大幅缩短及派生俗称“孤儿机”问题。
发布
7. 系统架构
应用程序
ndroid以Linux为核心的Android行动平台,使用Java作为编程语言,使界面到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类别负责创建视窗,一个活动中的Activity就是在foreground(前景)模式,背景执行的程序叫做Service。两者之间透过由ServiceConnection和AIDL连结,达到复数程序同时执行的效果。如果执行中的Activity全部画面被其他Activity取代时,该Activity便被停止,甚至被系统清除。
View等同于J2ME的Displayable,程序人员可以透过View类别与“XML layout”档将UI放置在视窗上,并可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout。至于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格式的档案。
硬件抽像层(HAL)
Android的硬件抽像层是能以封闭源码形式提供硬件驱动模块。HAL的目的是为了把Android framework与Linux kernel隔开,让Android不至过度依赖Linux kernel,以达成“内核独立”(kernel independent)的概念,也让Android framework的开发能在不考量驱动程序实作的前提下进行发展。
HAL stub是一种代理人的概念,stub是以*.so档的形式存在。Stub向HAL“提供”操作函数,并由Android runtime向HAL取得stub的操作,再回调这些操作函数。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)这种东西。所有的驱动还是在内核空间中,并以 HAL 隔开版权问题。bionic/libc/kernel/ 并非标准的内核头文件(kernel header files)。Android的内核头文件是利用工具由Linux内核的头文件所产生的,这样做是为了保留常数、资料结构与宏。
Android的核心基于Linux,除了核心之外,则是中介层、数据库元和用C/C++编写的API以及应用程序框架。Android的应用程序通常以Java数据库元为基础编写,运行程序时,应用程序的代码会被实时转变为Dalvik dex-code (Dalvik Executable),然后Android操作系统通过使用实时编译的Dalvik虚拟机来将其运行。
目前Android的Linux kernel控制包括安全、存储器管理、进程管理、网络堆叠、驱动程序模型等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。
专利纠纷
《PC世界》杂志网站2011年9月22日报道,Android已卷入1000多件专利诉讼。2011年8月,Google斥资125亿美元收购摩托罗拉移动(Motorola Mobility)及其拥有的约2.45万份专利组合。
8. 命名由来
Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l’Isle-Adam)在 1886 年发表的科幻小说《未来夏娃》(L’Ève future)中。他将外表像人的机器人取作 Android。
9. Android标志
Android是一个全身绿色的机器人,颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象征。有时候,它会以纯文字的标志展示。
Android的标志是由Ascender 公司设计的,其中的文字使用了Ascender公司专门制作的称之为“Google Droid字体”的字体。