Android——架构和源码包介绍

1. 说到Android的架构,大家第一眼想到的可能都是下面这张众所周知的图

(1) 应用程序层(applications):应用程序层主要是一些核心的应用程序包,比如电话,短信,地图,电子邮件等等。对应的源码包在 packages/apps 下,里面包含了各种应用程序的源码

(2) 应用框架层(application framework):这层是Android应用开发的基础,包含了视图管理器,电话管理器,等等,也提供了Android的四大组件。这个层主要就是提供了类似与各种组件使用的API。对应的源码直接在 frameworks 下,里面包含了base包,包含了framework的一些基础的代码,大量使用C++编写

(3) 系统库层:该层主要由两部分组成,一个是系统库,一个是android运行时。

    android运行时比较简单,主要包括了核心库以及Dalvik虚拟机,核心库包含了大多数java语言需要的功能函数,同时包含了Android的核心库。Dalvik虚拟机主要完成了对生命周期的管理,线程的管理,堆栈的管理,垃圾回收机制以及相应的安全和异常的管理

    系统库主要包含了9个子系统,就是上图所示的系统

    android运行时中的core libraries对应的源码包在根目录下的libcore

    android下的Dalvik虚拟机对应的源码包在根目录下的dalvik

    系统库对应的源码包是根目录下的bionic

(4) linux内核层:Android的核心系统服务都是依赖与linux内核的,比如内存,进程等的管理,驱动模型以及网络协议栈。内核层也是硬件和软件的抽象层,一些驱动,比如显卡,键盘,摄像头,wifi等等

该层对应的源码是在根目录下的kernel中

硬件抽象层(HAL)则对应的是根目录下的hardware

 

更加详细的目录可以去看这个博客:http://blog.csdn.net/fengliang191/article/details/40678731

 

posted @ 2017-10-13 11:07  东木刀纹  阅读(347)  评论(0编辑  收藏  举报