📱 Android 启动源码解析
30 章 · 从电源键到桌面
🎒 风格 · 源码不难
01
开机启动总览
从按下电源键到Launcher启动的完整链路概览
02
BootROM与Bootloader
芯片级启动流程,Secure Boot与AB分区策略
03
Linux内核启动
内核解压、设备树加载、init进程创建
04
init进程解析 (上)
init.rc脚本语法与解析流程
05
init进程解析 (下)
关键服务启动 (ueventd, servicemanager, zygote)
06
SElinux策略加载
安全上下文初始化与策略文件解析
07
属性系统
system property的存储、读取与设置机制
08
Zygote进程启动
app_process启动流程、预加载资源与类
09
Zygote进程通信
LocalSocket与fork机制详解
10
SystemServer启动 (上)
Zygote fork SystemServer的入口与初始化
11
SystemServer启动 (下)
关键服务注册流程 (AMS, WMS, PMS)
12
服务管理器ServiceManager
Binder驱动初始化与上下文管理器
13
Binder机制入门
Binder驱动、ProcessState与IPCThreadState
14
ActivityManagerService启动
AMS构造函数与核心数据结构
15
PackageManagerService启动
PMS扫描APK、解析AndroidManifest
16
WindowManagerService启动
WMS窗口管理初始化与显示策略
17
电源管理服务
PowerManagerService与WakeLock机制
18
显示系统启动
SurfaceFlinger初始化与HWComposer交互
19
输入系统启动
InputManagerService与EventHub建立
20
Launcher启动流程
AMS启动Launcher Activity的完整调用链
21
SystemUI启动
状态栏、导航栏的初始化过程
22
开机广播与应用启动
BOOT_COMPLETED广播发送与接收
23
开机动画
bootanimation进程与逐帧渲染机制
24
存储挂载
vold进程与用户数据分区解密挂载
25
网络服务启动
ConnectivityService与网络管理
26
电话服务启动
TelephonyRegistry与RIL交互
27
媒体服务启动
MediaServer与MediaCodec服务注册
28
系统服务注册全览
SystemServer中所有服务的启动顺序图
29
启动性能优化
关键路径耗时分析与Systrace工具使用
30
常见启动故障排查
bootloop、SElinux denial、服务crash分析