平时在做android开发的时候,很难去联系做的桌面应用需求跟安卓系统架构之间的联系。今天就简述一下android系统的开发架构。
Android系统是基于linux系统的,主要作用的在android手机,android平板和各种android设备上。从底层往上,依次是linux内核层,系统运行层,应用框架层和应用层,如下图1。
- 图1.android系统架构
android的linux内核层
主要提供的是android设备(下文专指android手机)的各种硬件驱动,驱动就是指利用相应软件程序驱动硬件的过程,主要包括显示驱动,音频驱动,蓝牙驱动,wifi驱动,电源管理,Binder驱动,照相机驱动和USB驱动等。
android系统运行库层
主要包括c和c++库,主要提供Android 系统的各种特性,如sqlLite库主要提供android系统的数据库,OpenGl|ES提供3D绘图功能,WEbKit提供了浏览器内核的支持;另外还有android运行时库,该库主要包括一些核心库和虚拟机,核心库提供java语言支持应用开发,虚拟机为每个应用开辟进程和虚拟机实例,5.0系统之前采用dalvik虚拟机,5.0之后采用的是art虚拟机。
应用框架层
主要为android应用开发开发提供各种api,主要有ActivityManager,WindowManager, ResourceManager,LocationManager,contentProvider和viewSystem等。
应用层
该层就是android设备的各种应用程序,例如淘宝,支付宝,知乎,微信,微博,斗音,斗鱼等。