【Android】简介

来源:互联网 发布:明代鸟铳 数据 编辑:程序博客网 时间:2024/06/06 00:53

Android简介

发展简史

Android (安卓),是一个以Linux基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance (OHA,幵放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android 5.0(Lollipop)。

Android系统最初由安迪鲁宾(Andy Rubin)等人开发制,最初幵发这个系统的目的是创建一个数码相机的先进操作 系统多但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭 载Android的智能手机,Android後来更逐渐拓展到平板电脑及其他领域上。
2010年末数据显示,仅正式推出两年的Android作业系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为 全球第一大智能手机操作系统。

版本更迭

Android 1.0—–Astro“铁臂阿童木
Android 1.1—–Bender“发条机器人

有人认为最早的版本是Android 1.0,但是最早的版本是阿童木(Android Beta),接下来是发条机器人(Android 1.1)(侵权问题),按照正式发布的话1.0应该是最低版本,不过他们两个都只是内测版本。安卓正式用在手机上的系统版本是1.6版本,第一台使用安卓系统的手机是HTC G1。命名顺序为26字母开始的首字母命名的

Android 1.5—————–Cupcake“纸杯蛋糕” API-3
Android 1.6—————–Donut 甜甜圈 API -4
Android 2.0/2.1————-Eclair 松饼 API-7
Android 2.2—————–Froyo 冻酸奶 API-8
Android 2.3.3 ————–Gingerbread 姜饼 API-10
Android 3.0—————–蜂巢 Honeycomb API-11
Android 3.1—————–API-12
Android 3.2—————–API-13
Android 4.0—————–Ice Cream Sandwich 雪糕三明治 API-14
Android 4.1—————–API-15
Android 4.1/4.2/4.3——–Jelly Bean“果冻豆” API-16 API-17 API-18
Android 4.4—————–KitKat“奇巧 API-19 dalvik 、ART elf
Android 5.0—————–Lollipop“棒棒糖 API -20 ART 电量泄露BUG
Android6.0——————Marshmallow 棉花糖
Android7.0——————Nougat 牛轧糖

Android开发

android的开发不单单只是android手机应用的开发

Android系统层次

首先从最上面看

Applications层

application 分为两种,一种时我们系统自带的应用程序,电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。另外一种就是互联网公司以及其他公司开发的自定义的应用程序,开发上层的界面应用程序也就是我们最熟悉的可以直接在手机看到的应用程序,他的开发语言使用的时JAVA语言进行的开发,大部分开发人员使用的开发工具:集成ecplise adt-bundle另外一款就是比较新的android studio两款工具进行开发。

Application Framework层

第二层开发时 application framework 框架层,他也是使用java语言进行的开发,他的开发基本都是一些手机厂商定制自己的一些功能与组件。

Libraries层

第三层开发就是C库的开发。在这里厂商比较多的开发就是书写一些自己的算法库,还有就在3层与4层之间许多厂商为了避免自己的程序遵循开源协议,定义的一层叫做HAL层 简称hardware abstract layer,这一层是驱动层的抽象,定制一些自己写的驱动对上层提供接口的功能。

Android Runtime层

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。 Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。

Linux Kernel层

Android基于Linux Kernel提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(ServiceAccess Point),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解Linux Kernel层。

Android应用程序编译流程

Android编译流程

0 0
原创粉丝点击