Android的前世后生

紫气东来

1.Android简介

Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前中国内地多称之为“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。

2.发展历史

2005年事件   Google收购了成立仅22个月的高科技企业Android。   2007年事件   11月5日,Google公司正式向外界展示Android操作系统。   11月5日,Google与34家手机制造商、软件开发商、电信运营商和芯片制造商共同创建开放手持设备联盟。   2008年事件   5月28日,Patrick Brady于Google I/O大会上提出Android HAL架构图。   8月18日,Android获得 美国联邦通信委员会 的批准。   9月22日,谷歌正式对外发布第一款Android手机——HTC G1。   9月23日,谷歌发布Android1.0。   9月24日,全球业界都表示不看好Android操作系统,并且声称最多1年,Android就会被Google关闭。   2009年事件   4月30日,Android1.5正式发布。   5月10日,HTC G1和HTC G2市场大卖,成为仅次于iPhone的热门机型。   9月25日,Android1.6正式发布。   9月29日,HTC Hero G3广受欢迎,成为全球最受欢迎的机型。   10月28日,Android 2.0 智能手机操作系统正式发布。   11月10日,由于Android的火热,Android平台出现第一个恶意间谍软件: Mobile Spy ,该程序会自动记录用户所输入的任何信息并发送到黑客的邮箱中,还可以视频录下用户的所有操作过程。   2010年事件   1月7日,Google发布了旗下第一款自主品牌手机:Nexus one(HTC G5)。   1月,谷歌与 Linux基金会 就谷歌修改了Linux内核而产生了矛盾。   2月3日, Linux 内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”上除去,从此,Android与Linux开发分道扬镳。   5月19日,Google正式对外发布Android2.2智能操作系统。   5月20日,Google对外正式展示了搭载Android系统的 智能电视 -Google TV,该电视为全球首台智能电视。   7月1日,Google宣布正式与雅虎、亚马逊合作,并且在Android上推出多项Kindle服务和雅虎服务。   7月9日,美国NDP集团调查显示,Android系统已占据了美国手机市场28%的份额,全球17%的市场份额。   8月12日,Android平台出现第一个 木马病毒 :Trojan-SMS.AndroidOS.FakePlayer.a,该木马病毒会伪装成应用程序,当用户不小心安装之后,它便会疯狂地发送短信,使用户的手机开通高额的收费服务。   9月,Android应用数量超过9万个。   9月21日,Google对外公布数据,每日销售的Android设备的新用户数达到20万。   10月26日,Google宣布Android达到第一个里程碑:电子市场上的Android应用数量达到10万个。   12月7日,Google正式发布Android2.3操作系统。   2011年事件   1月,Android应用数量超过20万。   1月,Google对外公布数据,每日Android设备的新用户数达到30万。   2月2日,Android3.0正式发布。   6月,Android在 日本 的智能手机操作系统市场占有率达到57%。   7月,Android在 欧洲 的智能手机操作系统市场占有率达到了22.3%   7月,Google对外公布数据,Android每天的新用户达到55万,Android设备用户总数达1.35亿。   8月,谷歌收购 摩托罗拉 移动。   8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian( 塞班系统 )的霸主地位,跃居全球第一。   8月,Android在 韩国 的智能手机操作系统市场占有率达到了95%。   8月,Android系统在35个国家市场占有率第一,平均市场占有率达到48%。   8月,Android系统成为 亚太地区 第一大系统,市场占有率为亚太地区第一大。   9月,数据显示,Android应用数目已经达到48万。   9月,Android在美国的智能手机操作系统市场占有率达到43%。   10月19日,谷歌正式发布Android 4.0操作系统。   11月15日,Android在 中国大陆 的智能手机操作系统市场占有率达到了58%。   11月18日,美国NPD数据显示,Android和 iOS 平台上的游戏占有率都首度超过 任天堂 的 DS 掌机和 索尼 的 PSP 掌机,手机游戏玩家也超过了掌机玩家,游戏开发商更倾向于向Android和iOS手机上开发游戏。

  11月18日,谷歌报告显示,通过谷歌服务器激活的Android设备用户总数已经超过2亿,每天通过谷歌服务器激活的新用户数超过55万,而这仅仅是通过谷歌服务器激活的用户设备数。

3.系统构架

Android是以Linux为核心的手机操作平台,作为一款开放式操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开发式操作系统。

  在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、Mono(mono for android)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。

  而在Android系统底层方面,Android使用C/C++作为开发语言。

4.内核

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将驱动程序移到 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来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

5.目前版本

版本 备注
Android1.1 2008 年9月发布的Android第一版
Android 1.5
Cupcake
(纸杯蛋糕)
2009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。主要的更新如下:
1、拍摄/播放影片,并支持上传到Youtube
2、支持立体声蓝牙耳机,同时改善自动配对性能
3、最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索
4、GPS性能大大提高
5、提供屏幕虚拟键盘
6、主屏幕增加音乐播放器和相框widgets
7、应用程序自动随着手机旋转
8、短信、Gmail、日暦,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件
9、相机启动速度加快,拍摄图片可以直接上传到Picasa
10、来电照片显示
Android 1.6
Donut
(甜甜圈)
2009年9月15日,1.6(Donut 甜甜圈)版本软件开发工具包发布。主要的更新如下:
1、重新设计的Android Market手势
2、支持支持CDMA网络
3、文字转语音系统(Text-to-Speech)
4、快速搜索框
5、全新的拍照接口
6、查看应用程序耗电
7、支持虚拟私人网络(VPN)
8、支持更多的屏幕分辨率。
9、支持OpenCore2媒体引擎
10、新增面向视觉或听觉困难人群的易用性插件
Android2.0/2.0.1/2.1
Eclair
(松饼)
2009年10月26日,2.0(Eclair 松饼)版本软件开发工具包发布。主要的更新如下:
1、优化硬件速度
2、"Car Home"程序
3、支持更多的屏幕分辨率
4、改良的用户界面
5、新的浏览器的用户接口和支持HTML5
6、新的联系人名单
7、更好的白色/黑色背景比率
8、改进Google Maps3.1.2
9、支持Microsoft Exchange
10、支持内置相机闪光灯
11、支持数码变焦
12、改进的虚拟键盘
13、支持蓝牙2.1
14、支持动态桌面的设计
Android 2.2/2.2.1
Froyo
(冻酸奶)
2010年5月20日,2.2(Froyo 冻酸奶)版本软件开发工具包发布。主要的更新如下:
1、整体性能大幅度的提升
2、3G网络共享功能。
3、Flash的支持。
4、App2sd功能。
5、全新的软件商店。
6、更多的Web应用API接口的开发。
Android 2.3
Gingerbread
(姜饼)
2010年12月7日,2.3(Gingerbread 姜饼)版本软件开发工具包发布。主要的更新如下:
1、增加了新的垃圾回收和优化处理事件
2、原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。
3、新的管理窗口和生命周期的框架。
4、支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器
5、支持前置摄像头、SIP/VOIP和NFC(近场通讯)
6、简化界面、速度提升:
7、更快更直观的文字输入:
8、一键文字选择和复制/粘帖:
9、改进的电源管理系统:
10、新的应用管理方式:

Android 3.0
Honeycomb
(蜂巢)
2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如下:
·优化针对平板
·全新设计的UI增强网页浏览功能
·n-app purchases功能
Android 3.1
Honeycomb
(蜂巢)
2011年5月11日在Google I/O开发者大会宣布发布,版本主要更新如下:
Honeycomb蜂巢(改进3.0BUG)
经过优化的Gmail电子邮箱;
全面支持GoogleMaps
将Android手机系统跟平板系统再次合并从而方便开发者。
任务管理器可滚动,支持USB 输入设备(键盘、鼠标等)。
支持 Google TV.可以支持XBOX 360无线手柄
widget支持的变化,能更加容易的定制屏幕widget插件。

Android 3.2
Honeycomb
(蜂巢)
2011年7月13日发布,版本更新如下:
支持7英寸设备
引入了应用显示缩放功能

Android 4.0
Ice Cream Sandwich
(冰激凌三明治)
2011年10月19日 在香港发布,
4.0(Ice Cream Sandwich 冰激凌三明治)版本主要更新如下:
1、全新的ui
2、全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等。
3、截图功能
4、更强大的图片编辑功能
5、自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序
6、Gmail加入手势、离线搜索功能,UI更强大。
7、新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务。
8、新增流量管理工具,可具体查看每个应用产生的流量。
9、正在运行的程序可以像电脑一样的互相切换
10、人脸识别功能
11、系统优化、速度更快
12、支持虚拟按键,手机可以不再拥有任何按键
13、更直观的程序文件夹:
14、平板电脑和智能手机通用
15、支持更大的分辨率
16、专为双核处理器编写的优化驱动
17、全新的18、增强的复制粘贴功能
19、语音功能
20、全新通知栏:
21、更加丰富的数据传输功能
22、更多的感应器支持
23、语音识别的键盘:
24、全新的3D驱动, 游戏支持能力提升
25、全新的谷歌电子市场
26、增强的桌面插件自定义

Android N.n
Jelly Bean
“果冻豆”
继“冰激凌三明治”之后的下一版Android系统。

《Android登堂入室》系列之Android的前世后生相关推荐

  1. Android图片系列-2.Android App图片压缩、裁剪分析整理

    移动端常用的图片格式有PNG和JPEG,目前ios手机和大部分安卓手机拍照生成的图片默认格式都是JPEG.我们开发APP的时候通常使用的是PNG,这可能是考虑到图片质量效果.PNG图片是无损压缩格式, ...

  2. Android深入浅出系列之Android工具的使用—模拟器(一)

    前言 我们下载的SDK包里面有一个叫"Tools"的文件夹,里面为我们提供了许多与Android开发相关的工具,其中一些是必不可少的,现在我们就介绍一下模拟器 Android模拟器 ...

  3. Android深入浅出系列之Android工具的使用—调试桥ADB(二)

    阅读目录 一:调试桥ADB 二:ADB的主要功能有哪些? 一:调试桥ADB   adb是什么?adb有什么用?adb工具如何用? 是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即 ...

  4. Android学习系列(41)--Android Studio简单使用

    1. 环境 UBUNTU 14.04 + Android Studio 0.8.2 2. 安装jdk openjdk-7是一个很好的选择: sudo apt-get update sudo apt-g ...

  5. Android深入浅出系列之Android开发环境搭建—SDK(三)

    安装SDK 1:下载SDK 只有下载了Android的,SDK(Software Development Kit)软件开发工具包,我们才能从事安卓的开发,SDK可以从Android的官方网站上下载,下 ...

  6. android studio 打包慢,[Android Studio系列(三)]Android Studio 编译、同步慢的解决方法

    1 问题 (1) 当项目中引用的第三方模块太多,打开Android Studio的时候就会非常慢,提示一直在解决模块依赖,点击sync按钮同步第三方代码的时候也是巨慢,慢的原因是: 在gradle中引 ...

  7. Android开发周报:Android Studio2.0发布、Activity动态创建

    新闻 <Android Studio 2.0发布 增加代码热更新功能>:在近日的Android开发者大会中,Google高调发布了Android Studio 2.0.然而就在不到一周之前 ...

  8. Android自定义控件系列之基础篇

    一.概述 在android开发中很多UI控件往往需要进行定制以满足应用的需要或达到更加的效果,接下来就通过一个系列来介绍自定义控件,这里更多是通过一些案例逐步去学习,本系列有一些典型的应用,掌握好了大 ...

  9. Android学习系列(10)--App列表之拖拽ListView(上)

    研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.       鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

最新文章

  1. macaca之app-inspector
  2. Unirest 轻量级的HTTP开发库
  3. 所有的经历都是财富 --致我的2016
  4. Windows下tomcat进程监控批处理程序
  5. python获取select选中的值_python – 使用flask从select标签获取值
  6. Jquery读取.Net WebService Json数据
  7. 关于浏览器存储问题理解
  8. php根据经纬度查询附近工人,并算出距离(tp3.2)
  9. win7u盘修复计算机教程视频,钻研U盘修复工具使用教程
  10. 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——4 - Tony Trivisonno‘s American Dream(托尼·特里韦索诺的美国梦)
  11. 核心乐理---音程名称
  12. STO(Security Token Offering)证券型通证、代币发行介绍
  13. 三招教你降低电脑屏幕蓝光对眼睛的危害
  14. 一文了解linux 网络协议栈(链路层)
  15. 嵌入式软件工程师就业方向有哪些呢?
  16. JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作?
  17. 求一个n阶方阵对角线元素之和
  18. 金丝檀木实木妆台+挂镜+主框全实木
  19. 待办日程怎么设置稍后提醒
  20. 低代码的后浪真正冲刷掉的是什么

热门文章

  1. Echarts之饼图内外圆重叠且图例不统一
  2. 3.JavaWeb基础知识总结
  3. Outlook Express邮件丢失问题解决方法之一
  4. 如何解决MathType公式显示方框
  5. IEEE802.1as与1588区别
  6. 认识WebSocket并搭建服务端
  7. Win11桌面图标的小盾牌怎么去掉?
  8. 配置和安装PIA过程中的常见问题
  9. 安全合规/GDPR--21--我们是如何开展PTA、PIA、DPIA风险评估的
  10. java读取zip文件,并将json中的反转义斜杆去除