Android——架构和源码包介绍

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

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

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

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

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

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

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

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

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

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

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

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

 

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

相关文章
相关标签/搜索