一、Android 系统总体架构
1.1 Android 分层模型(工程视角)
Android 系统自下而上通常划分为以下层次:
|------------------|-----------|
| 层级 | 说明 |
| Linux Kernel | 硬件抽象与资源管理 |
| HAL | 硬件抽象层 |
| Native Libraries | C/C++ 系统库 |
| Android Runtime | 应用运行环境 |
| Framework | 系统服务与 API |
| Application | 应用层 |
二、Linux Kernel 层相关缩略语
Android 的内核基于 Linux,但包含大量 Android-specific 扩展。
2.1 内核基础组件
|-----|-------------------------|-------------------|
| 缩略语 | 全称 | 说明 |
| LTS | Long Term Support | Android 内核常基于 LTS |
| GKI | Generic Kernel Image | 通用内核镜像 |
| KMI | Kernel Module Interface | 内核模块接口稳定性 |
| DT | Device Tree | 硬件描述 |
| DTB | Device Tree Blob | 二进制设备树 |
| DTS | Device Tree Source | 设备树源码 |
2.2 Android 内核特有机制
|---------|--------------------------------|
| 缩略语 | 说明 |
| Binder | Android IPC 机制 |
| Ashmem | Anonymous Shared Memory(已逐步弃用) |
| ION | 内存分配器(早期) |
| DMA-BUF | 跨设备共享缓冲 |
| LMKD | Low Memory Killer Daemon |
| PSI | Pressure Stall Information |
2.3 调度与电源管理
|---------|--------------------------------|
| 缩略语 | 说明 |
| CFS | Completely Fair Scheduler |
| EAS | Energy Aware Scheduling |
| HMP | Heterogeneous Multi-Processing |
| DVFS | 动态电压频率调节 |
| CPUFreq | CPU 频率调节 |
| CPUIdle | CPU 空闲管理 |
三、HAL(Hardware Abstraction Layer)
3.1 HAL 总体概念
|------|---------------------------------------|
| 缩略语 | 说明 |
| HAL | Hardware Abstraction Layer |
| HIDL | HAL Interface Definition Language |
| AIDL | Android Interface Definition Language |
| VHAL | Vehicle HAL |
| AHAL | Audio HAL |
| CHAL | Camera HAL |
3.2 Project Treble 相关缩略语
|--------------|------------------------------|
| 缩略语 | 说明 |
| Treble | 系统与厂商代码解耦 |
| VINTF | Vendor Interface |
| Vendor Image | 厂商分区 |
| System Image | 系统分区 |
| ODM | Original Design Manufacturer |
四、Native Libraries(本地库)
4.1 核心系统库
|-----------|-------------------|
| 缩略语 | 说明 |
| Bionic | Android C Library |
| libc | C 标准库 |
| libm | 数学库 |
| libdl | 动态加载库 |
| libbinder | Binder 用户态库 |
4.2 多媒体与图形
|----------------|--------------|
| 缩略语 | 说明 |
| SurfaceFlinger | 显示合成服务 |
| HWComposer | 硬件合成 |
| EGL | OpenGL ES 接口 |
| GLES | OpenGL ES |
| Vulkan | 现代图形 API |
| MediaCodec | 编解码接口 |
| OMX | OpenMAX(早期) |
五、Android Runtime(ART / Dalvik)
5.1 运行时体系
|--------|-------------------|----------------|
| 缩略语 | 全称 | 说明 |
| ART | Android Runtime | 现代 Android 运行时 |
| Dalvik | 早期虚拟机 | |
| DEX | Dalvik Executable | 字节码格式 |
| ODEX | Optimized DEX | |
| VDEX | Verified DEX | |
5.2 编译与执行模型
|----------------|-----------------------|
| 缩略语 | 说明 |
| AOT | Ahead-Of-Time 编译 |
| JIT | Just-In-Time 编译 |
| Profile-guided | 基于 Profile 优化 |
| GC | Garbage Collection |
| CMS | Concurrent Mark Sweep |
| G1 | 分代 GC(新版本) |
六、Android Framework 层
6.1 系统服务架构
|--------------|----------------------------|
| 缩略语 | 说明 |
| AMS | Activity Manager Service |
| WMS | Window Manager Service |
| PMS | Package Manager Service |
| ATMS | ActivityTaskManagerService |
| PowerManager | 电源管理服务 |
| InputManager | 输入系统 |
6.2 Binder IPC 相关
|----------------|-----------------------------|
| 缩略语 | 说明 |
| IPC | Inter-Process Communication |
| Binder Driver | 内核 Binder |
| ServiceManager | 服务注册中心 |
| AIDL | 接口定义语言 |
| Proxy | 代理对象 |
| Stub | 服务端桩 |
6.3 应用组件模型
|-------------------|-------|
| 缩略语 | 说明 |
| Activity | 界面组件 |
| Service | 后台组件 |
| BroadcastReceiver | 广播接收器 |
| ContentProvider | 数据共享 |
七、应用层(Application Layer)
7.1 APK 结构
|----------------|---------------------|
| 缩略语 | 说明 |
| APK | Android Package |
| AAB | Android App Bundle |
| Manifest | AndroidManifest.xml |
| Resources.arsc | 资源索引 |
| classes.dex | 字节码文件 |
7.2 应用沙箱与权限
|----------------|------------|
| 缩略语 | 说明 |
| UID | 用户 ID |
| GID | 组 ID |
| SELinux | 强制访问控制 |
| SEPolicy | SELinux 策略 |
| Scoped Storage | 分区存储 |
八、启动流程(Boot Process)
8.1 启动阶段
|--------------|---------------|
| 缩略语 | 说明 |
| Bootloader | 启动加载器 |
| LK | Little Kernel |
| U-Boot | 通用 Bootloader |
| init | Android 初始化进程 |
| Zygote | 应用孵化进程 |
| SystemServer | 系统服务进程 |
九、性能、调试与诊断
9.1 性能分析
|------------|----------------------------|
| 缩略语 | 说明 |
| Systrace | 系统追踪 |
| Perfetto | 现代追踪系统 |
| ATrace | Android Trace |
| Simpleperf | 性能分析工具 |
| ANR | Application Not Responding |
| Jank | 卡顿现象 |
9.2 调试工具
|-----------|----------------------|
| 缩略语 | 说明 |
| ADB | Android Debug Bridge |
| logcat | 日志系统 |
| tombstone | Native 崩溃日志 |
| bugreport | 系统诊断报告 |
十、安全机制相关缩略语
|---------------|-------------------------------|
| 缩略语 | 说明 |
| Verified Boot | 启动完整性 |
| AVB | Android Verified Boot |
| TEE | Trusted Execution Environment |
| Keymaster | 密钥管理 |
| Keystore | 密钥存储 |
| TrustZone | ARM 安全世界 |