Android系统基本框架结构[续]

来源:互联网 发布:js解析xml文件的作用 编辑:程序博客网 时间:2024/05/22 03:28

这里再来一张小清新一点的Android框架架构图:



由上图也可以看得出,Android采用了分层架构,分为4个层次(这一点上一章节也有说过),从高层到低层分别是:

1. 应用程序层,也就是Java应用程序(Java),这一层是大部分应用开发人员在这一层次快速开发出不同的应用。

2.应用程序框架层,Application Framework,即Java框架,这一层与下层系统运行库层之间以JNI的方式进行通信,提供给上一层应用程序层以API的方式提供服务(Java)。

3.系统运行库层,也叫本地代码(C/C++)框架层,包含本地框架Libraries和Java运行环境Android Runtime,这一层也是用户空间和内核空间的分界点。

Android的本地实现层次具有基本的库和程序,这些库和程序是Android基本系统运行的基础,主要包含以下内容:

标准C/C++库bionic;

C语言工具库libcutils;

init进程;

Shell工具;

C++工具库libutils(Android的底层库,C++,Binder IPC、RPC)。

当然在这里也需要知道和了解一下怎样增加本地程序和库的方法,在这儿就要理解一下Android.mk文件。

主要代码路径:bionic、hardware、build、framework


当然在这里还需要讲解一下Android的系统进程:几个重要的系统进程:

/init、/system/bin/servicemanager、/system/bin/mediaserver、system_server及zygote。

4.Linux核心层,也就是Linux操作系统和驱动层,Linux内核(硬件和软件栈之间的抽象层)(C),驱动则包含Android专用驱动、Android使用的设备驱动;

专用驱动有:

Ashmem(Anonymous Shared Memory)、Binder IPC(Inter Process Communication)、Logger、Android Power Management(PM)、Low Memory Killer、Android PMEM;

Android使用的设备驱动有:

FrameBuffer显示驱动、Event输入设备驱动、v4\2摄像头(视频驱动)、OSS音频驱动(Open Sound System,开放声音系统)、ALSA音频驱动(Advanced Linux Sound Architecture,高级Linux声音体系)、MTD(Memory Technology Device,内存技术设备,Flash驱动程序)、蓝牙驱动、Wlan驱动(无线局域网驱动)。

主要代码路径:kernel、system


还可参考:http://blog.csdn.net/forsta/article/details/25511531

0 0
原创粉丝点击