Android系统构架
PAGE 1
目 录
TOC \o "1-3" \h \z \u 一、Android系统构架 1
二、Linux内核层 2
三、系统运行库层 3
(一)系统库 3
(二)Android运行时 4
Android系统构架
本次课程我们主要介绍Android的系统构架以及Linux内核层和系统运行库层的主要作用。
一、Android系统构架
Android系统构架也叫做Android平台构架或者Android体系结构。
Android系统的底层建立在Linux系统之上,该平台采用分层结构,又底层到高层一共分为4层,依次是Linux内核层(Linux Kernal)、系统运行库层(Libraries)、应用程序框架层(Application Framework)和应用程序层(Application),如下图所示。
下面简单介绍下各层的主要作用:
Linux内核层:主要实现文件系统,内存管理,进程调度,进程间通信,电源管理及驱动等功能。
系统库运行层:为了支持上层应用,Android系统通过本层中的一些C/C++库来支持我们所使用的各个模块或组件。
应用程序框架层:是Android应用开发的核心,提供了开发所必须的各种基础API框架。Android应用的开发,主要就通过Android提供的组件与Android的API进行开发。
应用层:运行于Android设备或虚拟机上的程序 ,也就是作为开发人员开发的APP应用。
这节课我们主要介绍Linux内核层和系统运行库层的主要作用,这两层通常也被成为系统级层。
二、Linux内核层
Android 的核心系统服务基于 Linux 2.6 内核 ,但并不包括全部的Linux,且Android操作系统的初始化以及编程接口和标准 Linux 系统是有所不同的。
内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动模型与安全性的。? 鉴于许多硬件设备厂商不希望公开其设备驱动的源代码,Linux 内核也同时作为硬件和软件栈之间的抽象层。
主要的驱动如下:
显示驱动(Display Driver):常用于Linux的帧缓冲驱动。
照相机驱动(Camera Driver):常用基于Linux的video for Linux驱动。
蓝牙驱动(Bluetooth Driver):基于IEEE802.15标准的无线传输技术。
Flash 内存驱动(Flash Memory Driver):为闪存连接提供支持。
Binder IPC驱动:Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通讯的功能。
USB驱动(USB Driver):为连接USB设备提供支持。
键盘驱动(Keypad Driver):为输入设备提供支持。
Wifi驱动(Wifi Driver):基于IEEE802.11标准的驱动,可以连接无线网络。
音频驱动(Audio Driver):常用基于ALSA(即高级Linux声音体系)驱动。
电源管理(Power Management):对电池能量进行监控。
三、系统运行库层
在系统架构图中,位于Linux内核层之上的系统运行库层是应用程序框架的支撑,为Android系统中的各个组件提供服务。系统运行库层由系统库和Android运行时两部分所构成。
(一)系统库
系统库由一系列二进制动态库共同构成,通常使用C/C++进行编写;
主要包括基本的C库、以及多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持。
这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务,是连接应用程序框架层与Linux内核层的重要纽带。 以下是一些核心库:? 界面管理(Surface Manager):当执行多个应用程序时,负责管理显示与存取操作间的互动,另外也负责2D与3D绘图的显示合成。
多媒体库(Media Framework):基于PacketVideoOpenCore;支持多种常用的音频、视频格式的录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM等。
SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
OpenGL|ES:根据OpenGLES1.0API标准实现的3D绘图函数库。
FreeType:提供位图与矢量字体的描绘与显示。
WebKit:网页浏览器的核心,为网页浏览器提供支持。
SGL:底层的2D图形渲染引擎。
SSL:位于TCP/IP协议与各种应用层协议之间,为数据通讯
android 服务端技术 移动应用服务器端开发(基于JSP技术)- Android系统构架 Android系统构架.docx...