🧩
AOSP 开发调试环境
从零搭建 · 30 章
🚀 实战
30
🎯 完整闭环
📚 课程章节
30
⚙️ 源码编译 · 调试 · 定制
🧪 适合色系 🌈
01
AOSP概述与环境准备
了解AOSP是什么、硬件与软件要求(磁盘、内存、操作系统推荐)
02
Linux环境搭建
安装Ubuntu 22.04 LTS、配置国内镜像源、安装必要依赖包
03
Git与Repo工具
安装Git、配置SSH密钥、安装Repo、理解Repo工作流
04
下载AOSP源码
配置Git用户名邮箱、Repo初始化主线、同步源码(100GB+)
05
源码目录结构解析
art、bionic、build、frameworks、packages等文件夹作用
06
编译环境配置
安装JDK(OpenJDK 11/17)、配置环境变量、编译库
07
首次编译AOSP
选择编译目标(aosp_arm-eng)、make命令、out目录
08
编译常见错误与解决
内存不足(swap)、磁盘空间、Python版本、缺少库文件
09
生成并刷写系统镜像
boot.img、system.img、vendor.img,fastboot刷入
10
模拟器运行AOSP
emulator命令启动、配置内存/存储/网络
11
Android Studio与SDK安装
下载AS、配置SDK路径、安装Platform/Tools
12
创建第一个AOSP模块
packages/apps/下HelloWorld、Android.mk/Android.bp
13
Android.bp与Soong构建系统
Blueprint语法、模块类型(cc_binary、java_library等)
14
添加系统服务
创建AIDL、实现系统服务接口、注册ServiceManager
15
修改系统UI
调整SystemUI状态栏、锁屏界面、编译验证
16
添加原生库(Native Daemon)
C++守护进程、Android.bp编译、集成系统
17
SELinux策略基础
SELinux上下文、编写.te文件、解决avc denial
18
调试工具链
adb logcat、dmesg、systrace、bugreport
19
GDB与LLDB调试
gdbclient调试原生代码、断点、堆栈
20
断点调试Java代码
Android Studio附加进程、Java断点、表达式评估
21
修改内核并编译
下载Kernel Common、交叉编译、替换boot.img
22
添加新的硬件抽象层(HAL)
编写HAL模块、hw_module_methods_t、hw_get_module
23
VNDK与Treble架构
Vendor/System分离、VNDK扩展库、兼容性测试
24
CTS/GTS测试
搭建测试环境、运行兼容性套件、分析报告
25
OTA升级机制
生成OTA包、配置update_engine、模拟升级
26
Android Studio调试AOSP源码
导入源码、配置JDK/SDK、符号索引
27
单模块编译与增量编译
mma、mm、make <module-name> 加速开发
28
版本控制与代码审查
Gerrit提交、Change-Id、处理冲突
29
性能优化与内存分析
perf、simpleperf、MAT分析性能瓶颈
30
课程总结与进阶路线
核心技能回顾、推荐资源、下一步方向(车载/ROM定制)