📘 Android 启动 · 源码核心
30 章精讲
从按下电源到桌面
1
01
系统架构概览
Linux内核→应用层 · 分层设计与交互机制
2
02
开机启动起点
BootROM · BootLoader 引导加载内核
3
03
Linux内核启动
进程调度、内存管理、设备驱动初始化
4
04
init进程诞生
首个用户空间进程 · init.rc 配置
5
05
init核心服务
解析init.rc · 启动servicemanager/zygote
6
06
属性系统详解
设计原理 · 启动中的通信作用
7
07
SELinux在启动中
策略加载 · 权限控制
8
08
Zygote进程启动
诞生 · 预加载Java框架类与资源
9
09
Zygote Socket监听
LocalSocket等待AMS孵化请求
10
10
SystemServer启动
Zygote孵化 · 初始化入口
11
11
核心服务启动顺序
AMS · PMS · WMS 等初始化
12
12
ServiceManager作用
Binder服务中心 · 注册与获取
13
13
Binder驱动与通信
驱动初始化 · 进程间通信原理
14
14
ActivityManagerService
AMS初始化 · 创建系统进程/桌面
15
15
PackageManagerService
扫描APK · 建立包信息数据库
16
16
WindowManagerService
WMS初始化 · 窗口层级管理
17
17
服务注册与发布
向ServiceManager注册 · 客户端获取
18
18
Launcher启动
AMS启动桌面 · Intent匹配与进程创建
19
19
开机动画显示
内核→SystemServer · 加载与显示
20
20
SurfaceFlinger初始化
图形系统核心 · 启动与合成流程
21
21
HAL硬件抽象层
HAL模块加载 · 连接内核与框架
22
22
Vold存储管理
Volume Daemon · 挂载与监控
23
23
Netd网络管理
Network Daemon · 接口配置与防火墙
24
24
MediaServer多媒体
MediaPlayerService · CameraService 等
25
25
Installd包管理
守护进程协助PMS安装/卸载
26
26
logd日志系统
logd守护进程 · 日志架构与使用
27
27
adbd调试桥
adbd守护进程 · ADB工作原理
28
28
完整启动时间线
电源键→桌面 · 各阶段耗时与优化
29
29
启动常见问题
卡死/慢/服务崩溃 · 分析与排查
30
30
定制与优化
厂商定制开机动画/预装/提速