Android之来历
Android一词的本义指“机器人”,同时也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用 软件组成,号称是首个为移动终端打造的真正开放和完整的移动操作系统。
Android的产生还得从Andy Rubin(安迪鲁宾)说起。安迪鲁宾是一位硅谷著名的极客,他曾先后在苹果、General Magic、WebTV等公司工作,2000年参与创办了Danger公司。该公司生产的Hiptop(T-Mobile Sidekick)智能手机具备上网、全键盘和照相功能,2003年曾在美国风行一时。离开Danger之后,安迪鲁宾创办了新的公司,致力于研发手机操作系统。因为Linus Torvalds把自己写的操作系统称为Linux,安迪鲁宾的名字是Andrew,再加上他本身是个机器人迷,所以新公司取名叫做Android。这就是Android的来历。
注:极客:又译为技客、奇客,是英文单词geek的音译。在“美国俚语”中指智力超群,善于钻研但不懂与人 交往的学者或知识分子,含有贬义。现在这个词意思是拥有超群的智力,对计算机和网络技术有狂热兴趣并投入大量时间钻研的人。
Andy:Andrew 的昵称
2005年7月,成立仅22个月的Android公司被急于开拓无线互联网业务的Google收购,安迪鲁宾也随 Android加入了Google,继续领导手机操作系统的开发。也就是从这个时候起,业界就开始盛传Google(谷歌)公司将进军移动通信市场,并推出自主品牌的移动终端产品。更有人将其与苹果公司刚刚推出的iPhone相提并论,取名为“Gphone”,而网络上关于Gphone的各种猜想图片也是满天飞。
Gphone猜想图
在沸沸扬扬传了两年多,经过无数次的媒体报道和猜测之后,2007年11月5日Google终于公布了答案,令人意外地是并没有出现传说中的 Google Phone或gPhone。Google宣布与其它33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机芯片供货商、软硬件供货商、电信运营商 (包括中国移动)联合组成开放手机联盟(Open Handset Alliance),发布了名为Android 的开放手机软硬件平台。
Android系统今后将每半年升级一次,分别定在每年的夏天和年终。而且从1.5版本开始,每代Android系统都将以食物命名。比如目前的1.5版叫做Cupcake(纸杯蛋糕),下一版将命名为Donut(甜甜圈),然后是Eclair(法式奶油夹心甜点)和Flan(水果馅饼)。
Android的系统架构
Android 是基于Linux平台、完全开放和免费的开源手机操作系统,其系统架构和其他操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从 高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。
Android系统架构图
1.应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括系统界面、联系人管理程序、浏览器等。所有的应用程序都是使用JAVA语言 编写的。
2.应用程序框架
应用程序架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块,并供其它的任何应用程序使用,使用户可以方便的替换程序组件。应用 程序框架层包含了视图系统、内容提供器、资源管理器、通知管理器、活动管理器、窗口管理器、电话管理器、包管理器九大部分。
3.系统运行库
A.系统库。其中包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。
B.运行库。由核心库和Dalvik虚拟机构成。核心库提供了JAVA编程语言核心库的大多数功能,每个Android应用程序都在它自己的进 程中运行,都拥有一个独立的Dalvik虚拟机实例。
4.Linux 内核
Android 的核心系统服务基于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。内核作为一个抽象层,存在于软件栈层和硬件层之间
Android操作系统的技术特点
与其他的手机操作系统相比,Android有四个方面的优势:
一是开放性。Android 是是一个真正意义上的开放性移动设备综合平台,它包括了操作系统、中间件、用户界面和应用程序等移动电话工作所需的全部软件。Android操作系统免费向开发人员提供,不存在任何以往阻碍移动产业创新的专有权障碍,这样可以为第三方厂商节省近三成成本。
二是无界限的应用程序。Android打破了应用之间的界限,为用户创造全新的操作体验。Android 上的应用程序可以通过标准 API 访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能并供其他应用程序使用。软件开发人员可随意利用SDK开发套件开发在Android平台上运行的各类应用软件。
三是应用平等。所有的Android应用程序是在平等的条件下创建的,它们之间是完全平等的。移动设备上的应用程序可以被替换或扩展,用户甚至可以将系统中默认的电话拨号软件替换成其他第三方的电话拨号软件。你也可以改变主界面显示窗口的内容,或者将手机中任意的应用替换成你所需要的其他应用,而这些功能在别的手机平台几乎是不可能的。
四是应用程序能够轻松地嵌入网络。应用程序可以轻松地嵌入HTML、Javascript 和样式表,我们可以在Android 应用程序中通过 WebView来显示自已的 HTML 文件,或是网页内容。
Android系统在出生不到两年的时间里横扫智能手机市场,获得了手机运营商、手机厂商、开发者和消费者的青睐。ARM、华硕、索爱、华为、东芝、中国联通等多家企业纷纷加入开放手机联盟,将进一步推动Android系统的推广应用。除HTC外,摩托罗拉、索爱、ACER、华为等公司陆续推出了应用Android系统的新机型,并且Android平台的触角已经开始伸向上网本、数字电视、移动互联网设备(MID)等手机以外的领域。据开源软件产品和服务提供商Black Duck统计的数据,Android平台是2008年仅次于iPhone的最受开源开发者欢迎的平台,而Android SDK 1.5的发布,更是吸引了大量的开发者,目前Android Market上的应用程序数量已经突破10000大关,且免费软件占64.2%。总的来看,Android操作系统越来越受到追捧,根据市场分析与媒体研究公司Informa的预测,Google Android手机平台将在三年内超越苹果iPhone操作系统,相信Android的发展空间将会越来越广阔。
+++++++++++++++++++++++++++++++++++++
以下转自bbs.meizu.com中关于android的一些看法
android严格来说,不能算是linux
android是一个统称,具体来说,是google用了linux的一个核心,用这个核心来管理进程,控制硬件。
然后google利用java技术,搞了自己的一个虚拟机,给应用软件一个运行的平台。
java技术本来是sun公司的,sun有自己的标准(有用在手机上的,有用在服务器上的),但是google感觉sun的方案限制太多。于是用java技术另外搞了一套。
这个就是android
android上面的程序都是运行在google提供的这个虚拟机上面,然后通过虚拟机和linux发生关系,在和硬件发生关系。
严格来说,google做的和meizu做的工作差不多,都是在一个现有操作系统核心上,加上自己的一个中间件,然其他人在自己的这个中间件上开发。
正因为这个特点,所以中国移动可以在android的技术上再次开发,加入自己的一个中间层,这就是ophone。
所以,android和linux的应用程序不是一码事。wince和meizu系统的应用程序也不是一码事,ophone和android又是两码事。
现在meizu转到android上来,如果严格按照google的规则来做,是可以运行各种android程序的。google的程序升级,对meizu没有问题。
但是meizu如果走中国移动的路,自己再搞一层,那么应用程序移植就会有麻烦。和m8面对的情况类似。
转自:http://blog.163.com/ldiamond@126/blog/static/4013190720106201920381/
Android之来历的更多相关文章
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- Android视频播放之VideoView
Android视频播放之VideoView 1.VideoView类介绍 Android的VideoView组件可以从不同的来源(例如资源文件或内容提供器)读取图像,计算和维护视频的画面尺寸以使其适用 ...
- 简单研究Android View绘制一 测量过程
2015-07-27 16:52:58 一.如何通过继承ViewGroup来实现自定义View?首先得搞清楚Android时如何绘制View的,参考Android官方文档:How Android Dr ...
- 图解Android - Binder 和 Service
在 Zygote启动过程 一文中我们说道,Zygote一生中最重要的一件事就是生下了 System Server 这个大儿子,System Server 担负着提供系统 Service的重任,在深入了 ...
- Android启动过程以及各个镜像的关系
Android启动过程 Android在启动的时候,会由UBOOT传入一个init参数,这个init参数指定了开机的时候第一个运行的程序,默认就是init程序,这个程序在ramdisk.img中.可以 ...
- Android的Recovery中font_10x10.h字库文件制作
任务是要汉化Android中的Recovery,就了解了bootable/recovery/minui/font_10x18.h这个英文字库的来历,最终汉化的时候并没有自己汉字字库,用的github上 ...
- Android内核sysfs中switch类使用实例
Android内核sysfs中switch类使用实例 最终在这个周末,能够干点自己想要干的事了. 由我这个二流的内核驱动开发人员来解析一下sysfs中的switch类.先猜測一下来历,在普通的嵌入式L ...
- Android中Activity启动过程探究
首先追溯到Activity的启动,随便启动一个自己写的demo项目,使用DDMS进行debug标记,然后在Debug中把主线程暂停,可以看到调用栈.如下图所示: 于是我们先看android.app.A ...
- [深入理解Android卷一全文-第四章]深入理解zygote
由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该由于纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的所有内容. ...
随机推荐
- 转载:Linux的vim三种模式
一般模式:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字. 编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式:在一般模式下按: ...
- linux inode已满解决方法
今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...
- PHP高效的敏感词过滤方法
<?php // 测试文件demo.php $badword = array( '张三','张三丰','张三丰田' ); // array_combine() 函数通过合并两个数组来创建一个新数 ...
- centos 下 apache 重启启动命令
apache 启动 usr/local/apache243/bin/apachectl start apache 重启 usr/local/apache243/bin/apachectl restar ...
- Java was started but returned exit code=13
安装Eclipse(32位)后打开报错:Java was started but returned exit code=13 解决方法: 1,首先我查看了我当前安装的JDK版本,发现是64位的: 2, ...
- 通过button提交表单
通过 input button 而不是input submit提交. <!DOCTYPE html> <html lang="en"> <head&g ...
- 在Linux上配置vsftpd
一般安装好vsftpd这个服务,它的默认配置文件在这里:/etc/vsftpd/vsftpd.conf 用vim在里面可以添加一些变量控制权限之类的.还有很多chroot相关的东西,里面的变量都有作用 ...
- 在SQL Server中使用命令调用SSIS包
在SQL Server中可以使用dtexec命令运行SSIS包(2005以上版本),当然也可以通过系统过程:xp_cmdshell调用dtexec运行SSIS包. 具体操作步骤如下: 1.首先,当然是 ...
- jquery+css实现菜单收缩效果并适应多种浏览器与移动平台
效果 出现 css部分 .content-wrapper{ -webkit-transition: -webkit-transform .3s ease-in-out, margin .3s ease ...
- 2014-08-04 BBS主页页面的设计
今天是在吾索实习的第19天.这天,开始参照一开始设计的界面原型,真真正正地进行BBS界面的设计.在运用.NET进行界面设计时,发现没有用RP进行界面设计来得容易,很多都要再进行更精细的操作,才能达到原 ...