一、系统简介
安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。但运营收入不及iOS.
软件名称: Android(安卓)
开发商: Google、开放手持设备联盟
软件版本: Android 10
软件语言: C/C++(底层) Java等(应用层)
发行商: Google 发行日期 2008年9月23日
创始人: 安迪·鲁宾(Andy Rubin)
预览版本: Android 10 Beta 6
系统家族: 类Unix,Linux
源码模式: 自由及开放源代码软件
内核类型: 宏内核(Linux内核)
软件许可: Apache License、 GPL等
二、Android发行版本
1.1 | 2008年9月发布的Android第一版。 |
1.5 |
Cupcake(纸杯蛋糕):2009年4月30日发布。
主要的更新如下:
拍摄/播放影片,并支持上传到Youtube;支持立体声蓝牙耳机,同时改善自动配对性能;最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索;GPS性能大大提高;提供屏幕虚拟键盘;主屏幕增加音乐播放器和相框widgets;应用程序自动随着手机旋转;短信、Gmail、日历,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件;相机启动速度加快,拍摄图片可以直接上传到Picasa;来电照片显示。
|
1.6 |
Donut(甜甜圈):2009年9月15日发布。
主要的更新如下:
重新设计的Android Market手势;支持CDMA网络;文字转语音系统(Text-to-Speech);快速搜索框;全新的拍照接口;查看应用程序耗电;支持虚拟私人网络(VPN);支持更多的屏幕分辨率;支持OpenCore2媒体引擎;新增面向视觉或听觉困难人群的易用性插件。
|
2.0 |
2009年10月26日发布。
主要的更新如下:
优化硬件速度;"Car Home"程序;支持更多的屏幕分辨率;改良的用户界面;新的浏览器的用户接口和支持HTML5;新的联系人名单;更好的白色/黑色背景比率;改进Google Maps3.1.2;支持Microsoft Exchange;支持内置相机闪光灯;支持数码变焦;改进的虚拟键盘;支持蓝牙2.1;支持动态桌面的设计。
|
2.2/2.2.1 |
Froyo(冻酸奶):2010年5月20日发布。
主要的更新如下:
整体性能大幅度的提升;3G网络共享功能;Flash的支持;App2sd功能;全新的软件商店;更多的Web应用API接口的开发。
|
3.0 |
Honeycomb(蜂巢):2011年2月2日发布。
主要更新如下:
优化针对平板 ;全新设计的UI增强网页浏览功能 ;in-app purchases功能。
|
3.1 |
Honeycomb(蜂巢) :2011年5月11日布发布。
版本主要更新如下:
经过优化的Gmail电子邮箱 ;全面支持Google Maps ;将Android手机系统跟平板系统再次合并从而方便开发者;任务管理器可滚动,支持USB输入设备(键盘、鼠标等) ;支持Google TV.可以支持XBOX 360无线手柄;widget支持的变化,能更加容易的定制屏幕widget插件。
|
3.2 |
Honeycomb(蜂巢):2011年7月13日发布。
版本更新如下:
支持7英寸设备;引入了应用显示缩放功能。
|
4.0 |
Ice Cream Sandwich(冰激凌三明治):2011年10月19日在香港发布。
版本主要更新如下:
全新的UI;全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等;截图功能;更强大的图片编辑功能;自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序;Gmail加入手势、离线搜索功能,UI更强大;新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务;新增流量管理工具,可具体查看每个应用产生的流量,限制使用流量,到达设置标准后自动断开网络。
|
4.1 |
Android 4.1Jelly Bean(果冻豆):2012年6月28日
新特性:
更快、更流畅、更灵敏;特效动画的帧速提高至60fps,增加了三倍缓冲;增强通知栏;全新搜索;搜索将会带来全新的UI、智能语音搜索和Google Now三项新功能;桌面插件自动调整大小;加强无障碍操作;语言和输入法扩展;新的输入类型和功能;新的连接类型。
|
4.2 |
Android 4.2Jelly Bean(果冻豆):2012年10月30日
Android 4.2沿用“果冻豆”这一名称,以反映这种最新操作系统与Android 4.1的相似性,但Android 4.2推出了一些重大的新特性,具体如下:
Photo Sphere全景拍照功能;键盘手势输入功能;改进锁屏功能,包括锁屏状态下支持桌面挂件和直接打开照相功能等;可扩展通知,允许用户直接打开应用;Gmail邮件可缩放显示;Daydream屏幕保护程序;用户连点三次可放大整个显示屏,还可用两根手指进行旋转和缩放显示,以及专为盲人用户设计的语音输出和手势模式导航功能等;支持Miracast无线显示共享功能;Google Now现可允许用户使用Gamail作为新的数据来源,如改进后的航班追踪功能、酒店和餐厅预订功能以及音乐和电影推荐功能等。
|
4.4 |
Android 4.4KitKat(奇巧巧克力): 2013年下半年
2013年9月4日凌晨,谷歌对外公布了Android新版本Android 4.4KitKat(奇巧巧克力),并且于2013年11月01日正式发布,新的4.4系统更加整合了自家服务,力求防止安卓系统继续碎片化、分散化。 [11]
|
5.0 |
Android 5.0Lollipop(棒棒糖):美国太平洋时间2014年10月15日
Android 5.0 系统使用一种新的Material Design设计风格。从图片上就能看到一些全新的设计。从图片上看,这套设计图对 Android 系统的桌面图标及部件的透明度进行的稍稍的调整,并且各种桌面小部件也可以重叠摆放。虽然调整桌面部件透明度对 Android 系统来说并不算什么新鲜的功能,但是加入了透明度的改进。界面加入了五彩缤纷的颜色、流畅的动画效果,呈现出一种清新的风格。采用这种设计的目的在于统一 Android 设备的外观和使用体验,不论是手机、平板还是多媒体播放器。
|
5.1 |
Android5.1 Lollipop(棒棒糖),美国太平洋时间2015年03月10日
Android 5.1新系统相对于Android5.0更加稳定了,同时支持多张SIM卡,加强了设备保护机制,增强了设备的WiFi能力。
|
6.0 |
Android 6.0Marshmallow(棉花糖):2015年9月30日
新系统的整体设计风格依然保持扁平化的Meterial Design风格。Android6.0在对软件体验与运行性能上进行了大幅度的优化。据测试,Android6.0可使设备续航时间提升30%。
|
7.0 |
Android 7.0Nougat(牛轧糖):2016年8月22日 |
8.0 |
Android 8.0Oreo(奥利奥):2017 年 8 月 22 日 |
9.0 |
Android 9.0Pie (派):2018 年 5月 9日
通知栏样式更改,整体设计添加了更多圆形。
|
10.0 |
Android 10.0
从 Android 10 开始,Google 开始提供系统级的黑暗模式,大部分预装应用、抽屉、设置菜单和 Google Feed 资讯流等界面和按钮,都会变成以黑色为主色调,就和你在 macOS Mojave 中看到的暗色界面一样。
谷歌宣布Android系统的重大改变,不仅换了全新的logo,命名方式也变了,2019年的Android Q的正式名称是Android 10。
|
11 |
10月11日消息,据外媒报道,2019年Android开发峰会将于本月晚些时候开幕,谷歌公布了完整的会议日程。在会议日程中谷歌官方首次提到了Android 11。
此前外媒发现在AOSP中,谷歌已经启用了代号“Android R”。按照Android命名规则,Android R应该就是下一代Android:Android 11。
按照惯例,Android 11可能会在2020年3月份放出(开发版),谷歌I/O大会上正式发布。
|
三、系统架构
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
应用程序(Application) | Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 |
应用程序框架 (Application Framework) |
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括:
* 丰富而又可扩展的视图(Views): 可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。
* 内容提供器(Content Providers): 使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
* 资源管理器(Resource Manager): 提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
* 通知管理器 (Notification Manager): 使得应用程序可以在状态栏中显示自定义的提示信息。
* 活动管理器( Activity Manager) : 用来管理应用程序生命周期并提供常用的导航回退功能。
|
系统运行库 |
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
* 系统 C 库 - 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
* 媒体库 - 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
* Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
* LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
|
Linux内核层 | 包含Linux内核和一些驱动,比如说蓝牙驱动,Camera驱动等等,这个Binder驱动也是在这一层 |