2011年(455)
分类: 系统运维
2011-04-26 15:13:53
Android一词的本义指“”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。
目录
1.
2.
3.
4.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1.
1.
2.
3.
4.
5.
1.
2.
3.
4.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1.
1.
2.
3.
4.
5.
展开
bk.view.catalog().start("0"); 系统简介
Android是基于的,是公司在2007年11月5日公布的手机操作系统。
早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。
采用Android系统主要厂商包括台湾HTC、韩国三星(SAMSUNG)、美国摩托罗拉(MOTOROLA)、英国索尼爱立信(Sony Ericsson),另外还有中国厂商如:华为、中兴、联想等。
系统架构
应用程序
Android以为编程语言,使到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。
中介软件
操作系统与的沟通桥梁,并用分为两层:层(Library)和(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为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的采用。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。
Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。
硬件抽像层
Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。
HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。
编程语言
Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、、、、、及等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被授权证所约束的部份,例如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 是 Android 用来辅助工作的一个工具。
系统版本
很多玩家用户可能会奇怪:“为什么 Android 会用甜点作为它们系统版本的代号?”这个命名方法开始于 Andoird 1.5 发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,酸冻奶,姜饼,蜂巢。
Android 1.1
发布时间:发布于 2008 年9月
代表手机:HTC T-mobile G1
Android 1.5 Cupcake
发布于 2009 年 5 月
Android 1.6 Donut
2009 年 9 月发布
Android 2.0 Eclair
2009 年 10 月 26 日
Android 2.1 Eclair
: 2009 年 10 月 26 日,又一个主要以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair.”
Android 2.1主要特性:
提升硬件速度
更多屏幕以及分辨率选择
大幅度的用户界面改良
支持 Exchange活动墙纸
大幅改进虚拟键盘
蓝牙 2.1
Google 地图
Android 2.2 Froyo
谷歌于北京时间2010年5月20日晚上10:30点在旧金山Moscone会展中心举办Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。
相对于上一版本的 改变:
1、整体性能大幅度的提升
2、3G网络共享功能。
3、Flash的支持。
4、App2sd功能。
5、全新的软件商店。
6、更多的Web应用API接口的开发。
Android 2.3 Gingerbread
gingerdroid
北京时间2010年12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。
主要更新包括:
游戏:增加了新的垃圾回收和优化处理事件,以提高对游戏的支持能力。原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。新的管理窗口和生命周期的框架。
多媒体:支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器,比如混响、均衡、虚拟耳机和低频提升
通讯方式:支持前置摄像头、SIP/VOIP和NFC(近场通讯)
站在用户的角度看,这次更新的亮点主要有:
简化界面、速度提升:
更快更直观的文字输入:
一键文字选择和复制/粘帖:
改进的电源管理系统:
新的应用管理方式:
原生支持前置前置摄像头、互联网通话和NFC(近场通讯):
系统原生支持VoIP,可以在联系人里加入它的SIP帐户,然后直接通过系统来拨打VoIP电话。
增加下载管理器:
Android 2.4 Gingerbread
就像Android 2.0和2.1版本都使用Eclair(法式奶油夹心甜点)一样,Android 2.3和2.4将会共享Gingerbread(姜饼)代号。这两个版本之间的变化不会太大,但是会有不少功能更新。
目前已知的Android 2.4带来的更新包括更多的动画特效、更快的运行速度、软件通话降噪、视频聊天等。
Android 2.4系统不会是之前一直谣传的Android 3.0,其真正的版本号将会是Android 2.4。
Android 3.0 Honeycomb
3.0系统特性
·优化针对平板
·全新设计的UI增强网页浏览功能
·n-app purchases功能
·经过优化的Gmail电子邮箱;
·全面支持Google Maps
Android 3.1 Ice Cream?
预计于2011年内发布。Android之父Andy Rubin微博辟谣将继续开源,又联想到4月3日Google网站上出现的Ice Cream图标,因为Google Android的全新版本“Ice Cream”,Ice Cream可能将在不久后公布。据传它的系统版本号将会是Android 3.1。这将是集合了Android 2.3 Gingerbread和Android 3.0 Honeycomb优势的混合版本。
Android历史
2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-Mobile G1。该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。
2009年9月初,摩托罗拉坐镇主场在旧金山举办的Giga OM 2009大会上携手T-Mobile正式发布了旗下首款搭载Android操作系统的智能手机---MOTO CLIQ ,在沉寂许久后的首次爆发吸引了全球无数用户的目光。如果说T-Mobile G1的出世开辟了Android领域先河的话,那么摩托罗拉CLIQ的发布则更多的被视为昔日手机霸主的强势回归!
2009年10月28日正式发布了Android 2.0 智能手机操作系统,今天摩托罗拉和网络运营商Verizon共同宣布了首款采用Android 2.0的手机Droid
2010年1月索尼爱立信首款Android机型X10上市
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),并同时开始对外发售。
2010年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。
最新消息
北京时间3月25日消息,据国外媒体报道,谷歌周四表示,谷歌暂停开源Android3.0,并将暂时阻止小型手机生产商使用其Android 3.0“Honeycomb”系统,期限未定。
谷歌一位发言人通过电子邮件声明称,Honeycomb是专为平板电脑而非手机设计的,在该系统以开源形式发布前,还有很多工作要做。谷歌向《商业周刊》表示,推迟发布可能达数月之久。
谷歌称:“代号为Honeycomb的Android 3.0系统,是针对大屏幕设备和改进小软件、多任务、浏览、通知和客户化等功能而设计。虽然我们很高兴为平板电脑提供这些新功能,但交付给其他设备包括手机前我们有更多的工作要做。我们决定暂不开放源代码。我们致力于将Android作为跨多设备类型的开放式平台来提供,并在准备好时公布源代码”。
这意味着小型手机制造商要使用Honeycomb将不得不等待一段时间。不过大型设备商如HTC和摩托罗拉,已经可以使用。这些设备制造商一般安装在平板电脑中。
对此,谷歌工程副总裁和Android主管安迪·鲁宾(Andy Rubin)表示:“为了制定平板电脑出货的时间表, 我们进行了一些折衷设计。我们不想思考如何在手机上运行同一个软件”。
鲁宾还表示,谷歌不想冒险“带来非常糟糕的用户体验”。今年2月在发布Honeycomb时,谷歌发言人称,目前是专为平板电脑设计,“以后这些功能将推广到手机上。手机版的新Android,可能不会被叫做“Honeycomb ”,也可能是与3.0不同的版本。”
开放手机联盟
开放手机联盟
为了推广Android,Google和几十个手机相关企业建立了(Open Handset Alliance)。
联盟成员包括中国台湾HTC、韩国三星电子、NVIDIA、SiRF、Skype、联发科技MTK以及中国电信在内的34家技术和无线应用的领军企业。这34家企业中并不包含把持Symbian的Nokia公司,以及凭借着iPhone风光正在的Apple公司,微软没有加入,加拿大RIM和它的Blackberry也被挡在门外。
手机开放联盟大家庭成员名单:
1、手机和其他终端制造商
Motorola Mobility(移动技术)- 美国
Sony Ericsson()- 英国
HTC(宏达国际电子)- 中国台湾
Samsung Electronics()- 韩国
LG Electronics(LG电子)- 韩国
Lumigon ()- 丹麦
ARCHOS()- 法国
TOSHIBA()- 日本
2、移动运营商
China Telecom()- 中国
China Mobile()- 中国
China Unicom()- 中国
SK Telecom - 韩国
KT - 韩国
LG U - 韩国
- 日本
(日本电信电话公司)- 日本
Sprint Nextel(美国斯普林特Nextel公司)- 美国
Telecom Italia(意大利电信)- 意大利
Telefónica - 西班牙
- 德国
3、半导体公司
- 英国
Texas Instruments()- 美国
Qualcomm()- 美国
NVIDIA()- 美国
MediaTek()- 中国台湾
ST()- 欧洲
Infineon(科技)- 德国
ST-Ericsson(ST爱立信)- 欧洲
Audience (听众)- 美国
(博通)- 美国
Intel()- 美国
(俊茂微电子)- 美国
SiRF(瑟夫)- 美国
(新思)- 美国
HP()- 美国
4、软件公司
- 日本
Ascender - 美国
()- 美国
Esmertec(微迅)- 瑞士
Living Image - 美国
NMS Communications - 加拿大
Noser Engineering AG - 德国
Nuance Communication - 美国
PacketVideo - 美国
SkyPop - 美国
Sonix Network - 美国
The Astonishing Tribe - 瑞典
Wind River Systems(风河)- 美国
Android新闻
Android平台经理谈2011年Android发展路线图
Google Android平台经理Eric Chu明白虽然android智能手机用户在快速增长,但是付费应用的交易数量却表现惨淡。在举行的Inside Social Apps会议上,Chu明确表示Google对付费应用交易完全不满意。
虽然目前对于Google在2011年的Android发展战略仍缺乏具体地消息(Chu表示“敬请期待进一步消息”),但大致可以才想到Google会在下面几个方面发力。
In——app payments system(应用内交易系统):
Chu表示本季度Android将推出应用内交易系统,一年前苹果也有此类举措。在应用内交易系统中,用户在应用内购买(译者:比如购买更多的功能或游戏装备等等),这将有助于开发者利用发展迅速的虚拟货物移动市场来实现盈利。
Carrier billing(运营商计费):
12月,Google推出AT&T,用户可以通过手机话费来为应用付费,不需要采用另外一种。希望Google能在全球与更多的运营商进行类似的合作,Chu如此表示,另外还说与运营商建立付费系统虽然昂贵且耗时,但是对于用户来说是个很有价值的功能,同时也可以提高Android 应用的交易额。
Improve user discovery of apps in Market:
Chu表示已经有一个团队在负责剔除Android Market中的劣质应用,还表示将制定市场排名算法以帮助用户更方便地发现最好的应用。
Getting social(社会化):
Chu表示为了使得市场和Android更加社会化,Google将推出“最好的社交图”——Android address book(安卓通讯录),并且对开发者开发。Android address book将聚合了多渠道的用户联系人,而不仅仅是Google自己的通讯录。
Android平台五大优势特色
一、开放性
在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
二、挣脱运营商的束缚
在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。
三、丰富的硬件选择
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。
四、不受任何限制的开发商
Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、**方面的程序和游戏如何控制正是留给Android难题之一。
五、无缝结合的Google应用
如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。