安卓体系结构
本文讲解安卓体系架构。
安卓体系架构图
System Apps
|
|- Dialer # 电话拨号器应用
|- Email # 电子邮件应用
|- Calendar # 日历应用
|- Camera # 相机应用
|
Java API Framework
|
|- Managers # 各种管理器
| |- Content Providers # 内容提供者
| |- Activity # 活动管理器
| |- Location # 位置服务
| |- Package # 包管理器
| |- Notification # 通知管理器
|
|- View System # 视图系统
|- Resource # 资源管理
|- Telephony # 电话服务
|- Window # 窗口系统
|
Native C/C++ Libraries
|
|- Android Runtime(ART) # Android运行时
|- Webkit # Webkit库
|- OpenMAXAL # OpenMAX AL音频库
|- SQLite # SQLite数据库
|
Android Runtime(ART)
|
|- Media Framework # 媒体框架
| |- OpenGL ES # OpenGL ES图形接口
| |- Core Libraries # 核心库
|
Hardware Abstraction Layer(HAL)
|
|- Audio # 音频硬件抽象
|- Bluetooth # 蓝牙硬件抽象
|- Camera # 相机硬件抽象
|- Sensors # 传感器硬件抽象
|
Linux Kernel
|
|- Drivers # 各种硬件驱动程序
|- Audio # 音频驱动
|- Binder (IPC) # 进程间通信驱动
|- Display # 显示驱动
|- Keypad # 键盘驱动
|- Bluetooth # 蓝牙驱动
|- Camera # 相机驱动
|- Shared Memory # 共享内存驱动
|- USB # USB驱动
|- WIFI # WIFI驱动
|
|- PowerManagement # 电源管理
|- log.esin.netkeen # 日志系统
1. 应用层 (Application Layer)
- 系统应用 (System Apps): 包括电话拨号器(Dialer)、电子邮件(Email)、日历(Calendar)、相机(Camera)等。
2. 应用框架 (Application Framework)
- 管理器 (Managers): 包括内容提供者(Content Providers)、活动管理器(Activity Managers)、位置(Location)、包管理器(Package Managers)、通知管理器(Notification Managers)。
- 视图系统 (View System): 提供用户界面组件。
- 资源管理 (Resource): 管理应用资源如字符串、颜色、图片。
- 电话服务 (Telephony): 提供电话相关功能。
- 窗口系统 (Window): 负责窗口的布局、渲染和用户输入。
3. 运行时和核心库 (Runtime and Core Libraries)
- Android运行时 (Android Runtime, ART): 执行Java代码,提供运行时环境。
- 本地C/C++库 (Native C/C++ Libraries): 提供底层支持,如Webkit、OpenMAX AL、SQLite。
- 核心库 (Core Libraries): 实现Java核心库功能。
4. 媒体和图形 (Media and Graphics)
- 媒体框架 (Media Framework): 用于音频、视频的处理和播放。
- OpenGL ES: 提供3D图形渲染API。
5. 硬件抽象层 (Hardware Abstraction Layer, HAL)
- 提供标准接口以允许应用框架与各种硬件设备进行交互,包括:
- 音频 (Audio)
- 蓝牙 (Bluetooth)
- 相机 (Camera)
- 传感器 (Sensors)
6. 操作系统和驱动程序 (Operating System and Drivers)
- Linux内核 (Linux Kernel): 管理系统的核心,包括硬件驱动、进程管理、内存管理、文件系统和网络协议栈。
- 驱动程序 (Drivers): 为硬件设备如音频、显示、键盘、蓝牙、相机、共享内存、USB和WIFI提供驱动支持。
- 电源管理 (Power Management): 负责系统的电源管理。
- 日志系统 (log.esin.netkeen): 负责系统和应用的日志记录。