Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!
| 系统版本名称 | API版本号 | 发布时间 |
|---|---|---|
| Android 1.5:Cupcake:纸杯蛋糕 | 3 | 2009.4.30 |
| Android 1.6:Donut:甜甜圈 | 4 | 2009.9.15 |
| Android 2.0/2.0.1/2.1:Eclair:松饼 | 5/6/7 | 2009.10.26 |
| Android 2.2/2.2.1:Froyo:冻酸奶 | 8 | 2010.5.20 |
| Android 2.3:Gingerbread:姜饼 | 9 | 2010.12.7 |
| Android 3.0:Honeycomb:蜂巢 | 11 | 2011.2.2 |
| Android 3.1:Honeycomb:蜂巢 | 12 | 2011.5.11 |
| Android 3.2:Honeycomb:蜂巢 | 13 | 2011.7.13 |
| Android 4.0:Ice Cream Sandwich:冰激凌三文治 | 14 | 2011.10.19 |
| Android 4.1:Jelly Bean:果冻豆 | 16 | 2012.6.28 |
| Android 4.2:Jelly Bean:果冻豆 | 17 | 2012.10.30 |
| Android 4.3:Jelly Bean:果冻豆 | 18 | 2013.7.25 |
| Android 4.4:KitKat:奇巧巧克力 | 19 | 2013.11.01 |
| Android 5.0:Lollipop:棒棒糖 | 21 | 2014.10.16 |
| Android M:预览版 | 22 | 2015.5.28 |
| Android Beta,发布于2007年11月5日,同时的软件开发套件(SDK),发布于2007年11月12日。 11月5日被认为是Android的"生日"。 | |||
| Android版本名称Code name | Android版本 | 版本发布时间 | 对应API |
| (no code name) | 1.0 | 2008年9月23日 | API level 1 |
| (no code name) | 1.1 | 2009年2月2日 | API level 2 |
| Cupcake | 1.5 | 2009年4月17日 | API level 3,NDK 1 |
| Donut | 1.6 | 2009年9月15日 | API level 4,NDK 2 |
| Eclair | 2.0.1 | 2009年12月3日 | API level 6 |
| Eclair | 2.1 | 2010年1月12日 | API level 7,NDK3 |
| Froyo | 2.2.x | 2010年1月12日 | API level 8,NDK 4 |
| Gingerbread | 2.3 – 2.3.2 | 2011年1月1日 | API level 9,NDK5 |
| Gingerbread | 2.3.3 – 2.3.7 | 2011年9月2日 | API level 10 |
| Honeycomb | 3.0 | 2011年2月24日 | API level 11 |
| Honeycomb | 3.1 | 2011年5月10日 | API level 12,NDK 6 |
| Honeycomb | 3.2.x | 2011年7月15日 | API level 13 |
| Ice Cream Sandwich | 4.0.1 – 4.0.2 | 2011年10月19日 | API level 14,NDK 7 |
| Ice Cream Sandwich | 4.0.3 – 4.0.4 | 2012年2月6日 | API level 15,NDK 8 |
| Jelly Bean | 4.1 | 2012年6月28日 | API level 16 |
| Jelly Bean | 4.1.1 | 2012年6月28日 | API level 16 |
| Jelly Bean | 4.2-4.2.2 | 2012年11月 | API level 17 |
| Jelly Bean | 4.3 | 2013年7月 | API level 18 |
| KitKat | 4.4 | 2013年7月24日 | API level 19 |
| Kitkat Watch | 4.4W | 2014年6月 | API level 20 |
| Lollipop(Android L) | 5.0/5.1 | 2014年6月25日 | API level 21/API level 22 |
| Marshmallow(Android M) | 6.0 | 2015年5月28日 | API level 23 |
| Nougat(Android N) Nougat(Android N) | 7.0 7.1 | 2016年5月18日 2016年12月 | API level 24 API level 25 |
| Oreo(Android O) | 8.0 | 2017年8月22日 | API level 26 |
| Oreo(Android O) | 8.1 | 2017年12月5日 | API level 27 |
| Pie (Android P) 不是凤梨酥(PineappleCake) | 9.0 | 2018年8月7日 | API level 28 |
| 10(Android Q 不叫 Q,正式命名为 Android 10。谷歌改变了Android OS的命名习惯,不会再按照基于美味零食或甜点的字母顺序命名,而是转换为版本号) | 10.0 | 2019年9月3日 | API level 29 |
| 11 | 11.0 | 2020年9月9日 | API level 30 |
| Android的版本,有个API Level,对应着某个Android发布版本的名称。 | |||
好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:
看完上面的信息,我们可能有这样的一个疑问: 那么多的系统版本,我们开发的时候要针对哪个版本进行开发? 这就是作为一个Android必须面对的Android的"碎片化"问题了,而这个问题又分为两个: ①系统碎片化:我们开发App时可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各种Rom定制的盛行,国人都喜欢对原生系统做一些更改,这导致了在原生系统上可行,而在定制Rom上不可行的问题,比如相机调用~ ②屏幕碎片化:市面上各种各样屏幕尺寸的手机,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸...等等,除了手机外,还有Android平板,所以开发时我们可能要处理这个屏幕适配的问题,当然,刚学我们并不需要去考虑这些复杂的东西,后续实际开发我们再来深究!
2.Android系统特性与平台架构 系统特性:平台架构图: 架构的简单理解:
- 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
- Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎
- SQLite结构化的数据存储
- 优化的图形库,多媒体支持,GSM电话技术,蓝牙等
- 采用软件叠层方式构建
3.本节小结:
- Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
- Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
- Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如:
- Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等
本节对Android的历史背景以及现状进行了了解,然后简单分析了Android的系统特性以及系统架构,这些概念性的东西,我们了解了解即可,而下一节我们将开始Android环境的搭建!



