【Android源码 栏目提醒】:网学会员--在 Android源码 编辑为广大网友搜集整理了:3_Android系统架构及开发综述 - 大学课件绩等信息,祝愿广大网友取得需要的信息,参考学习。
Android系统架构及开发综述 英蓓特培训中心 2010. 12主要内容
Android系统架构
Android开发综述 EMB9G45下
Android开发内容一
Android系统架构
Android Android是包括一个操作系统、中间件和一些关键应 用的移动设备的一个软件堆。
Android中间件包含一个JAVA虚拟机,运行在 Linux 2.6核上,其上应用都是基于JAVA开发。
Android SDK 提供多种开发所必要的工具与API。
Linux内核
Android中间件
Android应用
Android框图
ANDROID软件结构层次分析 操作系统层(Linux,相关驱动) 硬件框架层 库(Libraries)和运行环境(RunTime) 应用程序框架(Application Framework) 应用程序(Application)1、操作系统层使用 C语言编写,运行于内核空间。
2、硬件框架层、底层库和 JAVA虚拟机使用 C语言编写,运行于用户空间。
3、JAVA框架和 JAVA应用程序使用JAVA语言编写,运行于用户空间。
Android硬件结构 高性能CPU:ARM V5TE架构以上 大容量RAM和ROM:128MB RAM/128MB RAM 高分辨率大屏幕; 大容量存储卡; 高像素摄像头; 3G、WIFI、蓝牙; GPS定位导航; 高清播放; 电池的续航能力;AndroidLinux内核
Android建立在linux内核之上,但是
Android不是linux 没有支持本地窗口系统 没有支持glibc运行库 没有包含完整的linux内核AndroidLinux内核
Android采用标准的linux内核 每个
Android版本会发布对应的Linux参考内核:
Android 1.0 - Linux2.6.25
Android 1.5 - Linux2.6.27
Android 1.6 - Linux2.6.29
Android 2.0/2.1 - Linux2.6.30
Android 2.2 - Linux2.6.32
Android 2.3 - Linux2.6.35获取Linux内核 获取通用内核的代码: git clone git://
android.git.kernel.org/kernel/common.git kernel/common.git 为通用 Kernel 的工程名称。
Android1.5 之前的版本具有 kernel 目录,其中也是参考 的 kernel 。
Android 通用的 Kernel 使用的处理器为 goldfish ,这是 种 ARM 处理器。
这个 Linux 编译生成的结果在
Android 的模拟器中使用。
AndroidLinux内核特性 Linux 内核位于硬件和
Android软件堆的硬件抽象层之间。
核心服务:安全机制、内存管理、进程管理、网络、硬件 驱动。
针对
Android软件堆接口做了一些特定的改动。
AndroidLinux内核特性 系统调用接口(System Call) 进程调度 内存管理 网络 Linux内核 Kernel mm net 进程通信 驱动程序 虚拟文件系统(VFS) ipc driver 各种文件系统
Android Android Patch 专有驱动系统结构和ARM Linux标准 处理器移植 驱动 ARM ARM ARM GoldFish SAM9G45 OMAPAndroid专有驱动 Wakelock: 申请WakeLock可以使进程持续执行,即使进入睡眠模式。
Staging中的驱动程序: Binder:为用户层程序提供IPC支持。
Logger:为用户层程序提供log支持。
Lowmemorykiller:提供低内存状态下杀死进程的功能。
Ram:提供了一种可以辅助调试的内核机制。
Ashmem: 匿名共享内存,可以为用户空间程序提供分配内存的机制。
Alarm: 为用户空间提供一个时钟的接口。
ADB Garget: 提供adb调试功能和大容量存储器的功能。
硬件抽象层 C/C库文件层 定义
Android的驱动接口 将
Android逻辑平台从硬件接口中分开硬件抽象层
Android Java应用层
Android Java框架层
Android 本地框架层 硬件抽象层接口 移植工作 用户空间 硬件抽象层实现 (
Android系统) 内核空间 驱动程序本地框架层和库 Bionic Libc 函数库Funtion Libraries 本地服务Native ServersLibraries C/C库:被各种
Android 组件使用通过应用程序框 架开发者可以使用其功能包括: 媒体库:MPEG4 H.264 MP3 JPG PNG ..... WebKit/LibWebCore:Web 浏览引擎 SQLite 关系数据库引擎 2D,3D 图形库、引擎Function Libraries WebKit 基于开源WebKit的浏览器 支持CSS、Javascript、DOM、Ajax 多媒体框架 基于PacketVideo OpenCORE平台 支持标准音频、视频 SQLite 轻型数据库,支持多种平台Native Servers-Surface 为多种应用提供2D、3D表面设计Native Servers-Audio 音频处理