安卓系统架构分为如图所示的四个层次:
四个层次描述如下:
1、应用层。该层由运行在Dalvik虚拟机(Google公司为Android专门设计的基于寄存器的Java虚拟机,运行Java程序的速度比JVM更快)上的应用程序(主要由Java语言编写)组成。例如:日历、地图、浏览器、联系人管理,都属于应用层上的程序。
2、应用框架层。该层主要由View、通知管理器(Notification Manager)、活动管理层(Activity Manager)等由开发人员直接调用的API组成(这些API主要也由Java语言编写)。
3、系统运行库层。Java本身不能直接访问硬件,想要让Java访问硬件,必须使用NDK才可以。NDK是一些由C/C++语言编写的库(主要是*.so文件)。这些程序也是该层的主要组成部分。该层主要包括C语言标准库、多媒体库、OpenGL ES、 SQLite、Webkit、Dalvik虚拟机等。也就是说,该层是对应用框架层提供支持的层。
4、Linux内核层。 该层主要包括驱动、内存管理、进程管理、网络协议栈等组件。目前Android的版本基于Linux2.6内核。