android平台结构分四层:Application, Application Framwork, Libraries and Android RunTime, Linux Kernel
1. Linux Kernel
为Android平台提供基本的系统系统服务如安全性,进程管理,内存管理,网络协议和驱动模型等。Linux Kernel为在硬件层和软件层之间建立一个抽象层,使得平台的硬件细节对开发人员透明化。包含系统基本的驱动:显示驱动,照相机驱动,Flash驱动,音频驱动,wifi驱动,蓝牙驱动,键盘驱动,能源管理等。
2.Libraries and Android Runtime
这层分两部分:Libraries和Android Runtime.
Libraries:
含有一些可供组件调用的C/C++库,这些功能模块通过Application Framwork层暴露给开发人员。Surface Manager, SQLite, Webkit, Media Framework, SSL, SGL, Libc等
Android Runtime:
这部分分两个子部分:Core Libraries 和 Dalvik VM
Core Libraries 包含了java和android主要的api。
Dalvik VM 是基于寄存器的虚拟机,每个应用都有一个进程,每个应用都有一个虚拟机实例,应用就在这个虚拟机实例中进行。虚拟机不是直接执行编译过的java类文件,而是先把字节码通过dx工具专程.dex格式的中间码。
3.Application Framwork
这层提供了开发应用程序所需的一系列框架。如Activity Manager, Windows Manager, Content Provider, View System, Notificaion Manager, Resource Manager等
4.Application
Android平台自带的一些列核心应用:日历,网页浏览器,电话薄,图片浏览器,短信客户端程序,电话拨号程序等