您的位置:首页 > 移动开发 > Android开发

Android 的结构

2015-11-02 18:04 218 查看


Android是一款风靡全球的基于Linux内核的操作系统. 2003年10月,有“Android之父”之称的安迪·鲁宾(AndyRubin)创建了Android公司, 并推出Android操作系统, 意在打造一款”聪明的移动端操作系统”. 2005年7月11日Google收购Android, 随后Android迎来了自己的春天, 在Google的推动下, Android很快崭露头角并获得了大量手机和芯片厂商的支持. 目前(2015年11月)最新的稳定版本是Android 6.0 代号Marshmallow.
除了应用于手机及平板的Android本身以外, Android还有其它三个分支: 应用于可穿戴设备的Android Wear; 应用于家用电视的Android TV, 还有专为汽车设计的Android Auto.

随着Google及手机厂商的大力推广,目前Android市场占有率53.54%遥遥领先于其主要竞争对手iOS的38.81%, 前景大好.

 

Android的结构.

Android的结构图:



1.      Linux Kernel:

所有的Android都是基于Linux内核开发的, 最新版本的Android6.0基于Linux Kernel 3.4.0. 这一层主要提供硬件设备驱动, 开发Android手机上的驱动方式与开发传统Linux上的驱动类似, Android的Linux内核在原有的基础上增加了一些Android独有的特性, 如Binder IPC Driver, 唤醒锁以及其他嵌入式平台的专用模块,

2.      HAL:

HAL(Hardware abstraction layer)即硬件抽象层, 为各硬件厂商定义了标准的接口, 以避免Android上层直接与硬件交互, HAL通常以.so文件的模式提供接口. 这些文件将会在需要的时候由Android动态加载.

3.      System services:

是Framework与HAL的中间层, 向Framework和Application提供服务, 以防止上层应用直接访问硬件层. Android包含两种服务: 系统服务(如Window Manager ,Notification Manager等)和多媒体服务(音视频以及相机等服务).

4.      Binder IPC:

IPC比较常见了, Inter-ProcessCommunication, 内部进程通信, Application Framework可以通过Binder IPC来访问系统服务, 使系统服务以下对开发者不可见. 很重要.

5.      Application framework:

这部分是应用开发者接触最多的部分, APP开发人员常见的接口大多数都在这里. 一些常用的Framework模块:

View--丰富的可扩展的视图集合,可用于构建一个应用程序.包括列表,网格,文本框,按钮,甚至是内嵌的网页浏览器.

Content Providers--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。

Resource Manager--提供访问非代码资源,如本地化字符串,图形和布局文件.

Notification Manager--使所有的应用程序能够在状态栏显示自定义警告.

Activity Manager--管理应用程序生命周期,提供通用的导航回退功能.

 

目前该领域需要的人才多数是应用开发, 通常需要对Application framework, UI设计, 及网络通信有较高的要求, 还有部分需要NDK的经验.

 

从当前Android及互联网的发展势头来判断, 有理由相信Android还会继续火爆下去.

以上信息来自维基百科和http://source.android.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 结构