Android大致可以分为四层架构,五块区域:
1. Linux内核层
基于Linux2.6内核,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,WiFi驱动,电源管理等。
2. 系统运行库层
这一层通过一些c/c++库为Android系统提供了主要的特性支持。如:SQLite库提供数据库的支持,OpenGL|ES库提供3D绘图的支持,webkit库提供浏览器内核的支持等。
这一层还有Android运行时库,主要提供一些核心库,能够允许开发者使用java语言来编写Android应用,另外Android运行时库中还包含了dalvik虚拟机,它使得每一个Android应用都能运行在独立的进程中,并拥有一个自己的DalVik虚拟机实例。
3. 应用框架层
这一层主要提供了构建应用程序时可能用到的各种api,android自带的一些核心应用就是使用这些api完成的,开发者也可以使用这些api来构建自己的应用程序。
4. 应用层
所有安装到手机上的应用都属于这一层,系统自带的应用和开发者开发的程序等。
架构图: