当前位置:文档之家› 浅谈Android(安卓)

浅谈Android(安卓)

浅谈Android--嵌入式操作系统Android(读音:[ˈændrɔid],中文俗称安卓)是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google成立的Open Handset Alliance (OHA,开放手持设备联盟)持续领导与开发中。

--题记.维基百科说起嵌入式系统,曾经在保罗大叔的著作《黑客与画家》里看到多次,然后不明所以,就去查了嵌入式系统。

如果说嵌入式系统给我的第一印象是硬件,那么是我还不知道嵌入式在我生活里已经出现了很多年了。

大到冰箱,自动存款机(ATM),小到电子手表,遥控器。

在维基百科解答后,我对嵌入式直观的理解,是一种特定的植入硬件并极具针对性的计算机系统。

后来慢慢了解嵌入式的软件方面,就知道了嵌入式操作系统,而其中的佼佼者,就是如今已经超越ios,占据半壁江山的Android。

之所以会说Android,原因有二:一,因为Android如今炙手可热,在新一季度的日本手机软件营销额上,以Java等语言为Android系统开发的Apps,疯狂揽金,李开复断言在两年内,中国内地手机游戏软件市场,将会百花齐放;二,我虽并非研究Java也非致力于Android系统,但是Android系统的内核,却是我所熟悉的Linux内核。

而我将自己的开发平台转移到Linux系统,并以Python,Perl以及Lisp语言作为未来的生存工具,所以,就让我们谈一谈Android。

题记中套用维基百科对于Android的介绍,主要的目的,就是为了澄清一件事实“认知”——Android并没有真正的中文名。

Google并没有为Android命名,只有为其版本取名,且翻译成中文:4.2.x Jelly Bean 果冻豆,4.0.x Ice Cream Sandwich 冰激凌三明治,3.x.x HoneyComb 蜂巢,2.3.x Ginger Bread 姜饼。

而“安卓”一词,也是我们自己对其中文简称,就像Facebook并没有为其在中国大陆市场取名一样。

介绍完人家的名字,现在介绍安卓的身世。

2003年10月,有“Android之父”之称的安迪·鲁宾(Andy Rubin)在美国加利福尼亚州帕洛阿尔托创建了Android科技公司(Android Inc.),并与利奇·米纳尔(Rich Miner)、尼克·席尔斯(Nick Sears)、克里斯·怀特(Chris White)共同发展这家公司。

谈到创建Android科技公司的原因,鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求。

”尽管Android科技公司的创始人和员工过去都具有各自的科技成就,但是Android科技公司的经营只显露出它在智能手机软件的方面。

同年,鲁宾为Android科技公司花光了所有的钱。

就在这时,史蒂夫·帕尔曼(Steve Perlman)递给了鲁宾一个信封,在里面装有1万美金的现金;帕尔曼并不是以投资的方式给鲁宾这笔钱,因为他拒绝了鲁宾给他的股份。

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一样的自有品牌智能手机系列。

市场上第一款采用Google的Android操作系统的智能手机HTC T-Mobile G1,于2008年10月22日在美国上市,当时定价为179美元。

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”的标志。

对于Android系统,我最关心的则是——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年。

”而Android作为能与ios系统PK的嵌入式操作系统,其拥有强大的特点则是它吸引人的关键。

当前的Android操作系统具有如下特点:显示布局,数据储存,网络,信息,语言,浏览器,支持Java,流媒体支持,硬件支持,多点触控,蓝牙,多任务处理,语音功能,无线共享功能,截图功能。

Android 系统架构Android 是Google 开发的基于Linux 平台的开源手机操作系统,它是一个移动终端平台,包括了移动电话工作所需的全部软件,由操作系统、中间件、UI (UserInterface)及应用程序组成。

开发人员使用Java 语言,开发运行于Dalvik 虚拟机上的应用程序,其运行效率比一般嵌入式Linux 操作系统上的J2ME 程序高。

Android系统架构自底向上由以下4个层次组成:基于Linux 的内核模块、运行时库与其他库、应用程序框架、应用程序。

(1)基于Linux 的内核模块Android 内核基于Linux 2.6, 提供安全、内存管理、进程管理、网络组、驱动模型等核心服务。

同所有Linux 内核一样,Android 内核是介于硬件层和软件组之间的一个抽象层次。

(2)运行时库与各种程序库运行时库实质是一款Java重新设计的虚拟机Dalvik, 它包含J2SE 所提供的绝大部分功能。

每个Android 应用都运行在自己的进程上, Dalvik 虚拟机为它分配自有的实例。

Dalvik 使一台设备能运行多个虚拟机程序但消耗较少的资源。

在Android 中,编译器将Java 源文件转为class 文件,内置的dx 工具又将class 文件转化为Dex 文件,Dex 文件是在Dalvik 虚拟机上运行程序的标准格式。

相关主题