Android系统简介(上):历史渊源
上个月,看到微信的一系列文章,讲到Linux的鼻祖-李纳斯的传记《Just for Fun》, 其人神乎其能, 其人生过程非常有趣,值得每个程序员细细品味。
而实际上,对我而已,虽然做软件开发很多年,但是对Linux非常不熟悉,仅仅听过几个名词而已。 没有用过Linux? 几乎不可能,全球智能手机中80%运行的是Android系统,只要你用过Android手机,则已经间接用过了Linux了,因为他们有很深的渊源和故事。下面分3篇对Android历史、架构、原理做简述,以供大家餐食。
![]()
Android系统简介(上):历史渊源
Android Inc公司在2003年10月成立,目标是研发出一款可深度定制、轻量级、自适应等特性的免费开源的移动操作系统。虽然有天使投资注入1万美金,但是对如此庞大的蓝图而已无异于杯水车薪,创始人们在艰难中潜行。
2005年,遇到了一个改变世界的契机,Google于8月收购了它。于是乎,在有了资金、技术注入后,这个团队开始了完整的重构:基于Linux内核进行重写Android架构—实际上修改了Linux系统来用于和硬件驱动。
2007年6月29号,又遇到了一个改变世界的大事,IPhone上市了。一夜间,苹果忽然成为了移动手机的新贵,且取得了巨大的成功。于此同时,移动通信设备商对苹果又爱又恨,爱的是苹果开启了智能手机新纪元从而带来了巨大商机,恨的是苹果的IOS是封闭系统。于是短短的4个月过去了,以Google为首,全球性的开放手机联盟(Open Handset Alliance)与11月5日宣布组建,由此Android正式登上历史舞台。一周后,2007年11月12号 Android Beta SDK 发布。一年后,第一部基于Android的智能手机于2008年10月由HTC正式开售,于是移动通信市场进入了IOS和Android的双赢时代。
![]()
Android系统是开源的,由Google负责维护,基于Apache 2.0开源协议。 用一张图来清晰浏览一下Android的历史:
![]()
- Android alpha (1.0)
- Android beta (1.1)
- Cupcake (1.5)
- Doughnut (1.6)
- Eclair (2.0–2.1)
- Froyo (2.2–2.2.3) 【我本人于2011年2月在北京购买的水货HTC G7,一直用了3年退役】
- Gingerbread (2.3–2.3.7)
- Honeycomb (3.0–3.2.6)
- Ice Cream Sandwich (4.0–4.0.4)
- Jelly Bean (4.1–4.3.1)
- KitKat (4.4–4.4.4)
- L Release (developer preview)
2014年,随着Android Auto、Android TV、Android Wear系统SDK相继发布,自2008年Android SDK发布后又开始了新的一轮野蛮生长……
Android系统简介(上):历史渊源的更多相关文章
- Android系统简介(中):系统架构
Android的系统架构栈分为4层,从上往下分别是Applications.Application framework.Libraries & Android Runtime.Linux ...
- 【译】Android系统简介—— Activity
续上一篇,继续介绍Android系统.上一篇: [译]Android系统简介 本文主要介绍构建Android应用的一些主要概念: Activity Activity是应用程序中一个单独的有UI的页面( ...
- "浅谈Android"第一篇:Android系统简介
近来,看了一本书,名字叫做<第一行代码>,是CSDN一名博主写的,一本Android入门级的书,比较适合新手.看了书之后,有感而发,想来进行Android开发已经有一年多了,但欠缺系统化的 ...
- 【译】Android系统简介
简介 本文主要介绍Android的基础知识和体系结构,本文主题: 简介什么是Android,为什么开发者需要关注Android: Android体系结构(如Linux Kernel, Librari ...
- Android系统编程入门系列之应用环境及开发环境介绍
作为移动端操作系统,目前最新的Android 11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应 ...
- Android系统Recovery工作原理之使用update.zip升级过程---updater-script脚本语法简介以及执行流程(转)
目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制. 一.update-script脚本语法简介: 我们顺着所生成的脚本 ...
- 【Android 系统开发】 Android 系统启动流程简介
作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3889548 ...
- Android属性系统简介
1.简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统.每个属性都有一个名称和值,他们都是字符串格式.属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息 ...
- Android属性系统简介【转】
本文转载自:http://www.cnblogs.com/l2rf/p/6610348.html 1.简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统.每个属性都有一个名 ...
随机推荐
- hdoj 1859 最小长方形
最小长方形 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- KVC, KVO实现原理剖析
iPhone程序开发 KVO/KVC实现机理分析是本文要介绍的内容,不多说,直接进入话题.我们来看详细内容. Objective-C里面的Key-Value Observing (KVO)机制,非常不 ...
- ExtJs4.1实现数据缓存
Ext.onReady(function () { Ext.define("ProvinceCity", { extend: ...
- 利用Microsoft Azure Machine Learning Studio创建机器学习实例
Microsoft Azure云服务推出机器学习的模块,用户只需上传数据,利用机器学习模块提供的一些算法接口和R语言或别的语言接口,就能利用Microsoft Azure强大的云计算能力来实现自己的机 ...
- SQL 存储过程(学生,课程表,选修表)
SQL 存储过程(学生,课程表,选修表) 一.存储过程的分类 在SQL Server中存储过程分过两类: 1)系统存储过程("sp_"作为前缀) 2)用户自定义存储过程 二.创建和 ...
- Xcode7如何添加pch文件
我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间.但是没有 ...
- Atom远程连接服务器报错服务器版本和客户端版本不一致
Atom远程连接服务器 报错信息: Server version is different than client version Original error message: Version mi ...
- 64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
Failed to get the adb version: Cannot run program "/home/jayhomzhou/android/android-sdk/platfor ...
- hdu 5495 LCS 水题
LCS Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5495 Descr ...
- 期望-pku-oj-1055:Tree
题目链接: http://poj.openjudge.cn/practice/1055/ 题目意思: 给出的树最大节点个数为n的情况下,求树上点深度的期望. 解题思路: 数学期望公式的推导. 自己先画 ...