android系统底层是建立在Linux系统之上的,如下图
从上图可以看出android系统有五部分组成
1.APPLICATIONS(应用程序层)
包含一些核心应用程序,电子邮件,日历,地图,浏览器等。
2.APPLICATION FRAMEWORK(应用程序框架)
android应用程序框架提供了大量的API供开发者使用,建议自己从网上下载android的API或者在线浏览也行(http://www.android-doc.com/reference/packages.html)
任何一个应用程序都可以发布其部分功能模块,只要发布时遵守了框架的约定,那么其他开发者也可用这个功能模块。
3.LIBRARIES(函数库)
android包含一套不同组件所使用的C/C++库的集合。一般来说,android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
下面列出一些核心库。
- - -系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过。
- - - 媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等多媒体格式。
- - - Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层机提供无缝整合。
- - - LibWebCore:一个全新的Web浏览器引擎,该引擎为android浏览器提供支持,也为WebView提供支持,WebView完全可以嵌入开发者自己的应用程序中。
- - - SGL:底层的2D图形引擎。
- - -3D libraries:基于OpenGL ES 1.0 API实现的3D系统,这套3D系统既可使用硬件3D加速,也可使用高度优化的软件3D加速。
- - - FreeType:位图和向量字体显示。
- - -SQLite:供所有应用程序使用的、功能强大的轻量级关系数据库。
4.ANDROID RUNTIME
android runtime 由两部分组成:android核心类库集和Dalvik虚拟机。核心类库集提供了JAVA语言核心库所能使用的大部分功能,虚拟机负责运行Android应用程序。
5.Linux内核
Android系统建立在Linux 2.6 之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。