1 / 49
文档名称:

【Android系统原理与开发要点详解】02_Android系统的开发综述.pdf

格式:pdf   页数:49
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【Android系统原理与开发要点详解】02_Android系统的开发综述.pdf

上传人:翩仙妙玉 2012/7/14 文件大小:0 KB

下载得到文件列表

【Android系统原理与开发要点详解】02_Android系统的开发综述.pdf

文档介绍

文档介绍:Android 系统的开发综述
Android 系统的开发综述
第一部分 Android 的系统架构
第二部分 Android 源代码的开发环境
第一部分 Android 的系统架构
软件结构
Android 的工具
软件结构
第四层:
Java应用程序
第三层:
Java框架
第二层:
本地框架和Java运行环境
第一层:
Linux操作系统及驱动
软件结构
Android 的软件结构的几个层次:
1. 操作系统层( Linux ,相关驱动)
2. 库( Libraries )和运行环境( RunTime )
3. 应用程序框架( Application Framework )
4. 应用程序( Application )

操作系统层使用 C 语言编写,运行于内核空间。
底层库和 JAVA 虚拟机使用 C 语言编写,运行于
用户空间。
JAVA 框架和 JAVA 应用程序使用 C 语言编写,运
行于用户空间。
软件结构
Android 的第 1 层次由 C 语言实现,第 2 层次由 C
和/C++ 实现,第 3 、 4 层次主要由 Java 代码实现。
第 1 层次和第 2 层次之间,从 Linux 操作系统的角
度来来看,是内核空间与用户空间的分界线,第 1 层
次运行于内核空间,第 2 、 3 、 4 层次运行于用户空
间。
第 2 层次和第 3 层次之间,是本地代码层和 Java 代
码层的接口。
第 3 层次和第 4 层次之间,是 Android 的系统 API
的接口,对于 Android 应用程序的开发,第 3 层次以
下的内容是不可见的,仅考虑系统 API 即可。
软件结构
Linux 操作系统和驱动:
Android 的核心系统服务依
赖于 Linux 内核,如安全
性,内存管理,进程管理, 网络协
议栈和驱动模型。 Linux 内核也
同时作为硬件和软件栈之间的抽象
层。
软件结构
Android 本地框架( C/C++ ):
Android 包含一些 C/C++ 库,这些库能被 Android 系统中不
同的组件使用。它们通过 Android 应用程序框架为开发者提供
服务。
系统 C 库:一个从 BSD 继承来的标准 C 系统函数
库, 专门为基于嵌入式 linux 的设备定制的。
媒体库:基于 PacketVideo OpenCORE ;该库支持多
种常用的音频、视频格式回放和录制。
 Surface Manager : 对显示子系统的管理,图层功能。
 WebCore : 一个最新的 web 浏览器引擎用,支持
Android 浏览器和一个可嵌入的 web 视图。
 SGL : Skia 的 2D 图形引擎
 3D libraries : 基于 OpenGL 实现;该库可以使用硬件
3D 加速(如果可用)或者使用高度优化的 3D 软加速。
 FreeType :位图( bitmap )和矢量( vector )字体显示

软件结构
Android 运行库:
Android 包括了一个核心库,该核心库提供了
JAVA 编程语言核心库的大多数功能。
每一个 Android 应用程序都在它自己的进程中运
行,都拥有一个独立的 Dalvik 虚拟机实例。 Dalvik 被设
计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik 虚拟机执行( .dex )的 Dalvik 可执行文件,
该格式文件针对小内存使用做了优化。同时虚拟机是基
于寄存器的,所有的类都经由 JAVA 编译器编译,然后
通过 SDK 中的"dx" 格式由虚拟机执
行。
Dalvik 虚拟机依赖于 linux 内核的一些功能,比如线
程机制和底层内存管理机制。
软件结构
Android 应用程序框架:
开发人员也可以完全访问核心应用程序所使用的 API 框架。该
应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布
它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不
过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可
以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
丰富而又可扩展的视图( Views ),可以用来构建应用程