📘 AOSP 源码下载 & 编译环境搭建
30章
· 风格· 明快目录
01
AOSP 概述
什么是AOSP
历史与版本演进
架构概览
02
开发环境准备
Linux安装(Ubuntu)
硬件配置要求
磁盘分区建议
03
基础工具安装
Git
Python
curl
repo工具
04
JDK 安装与配置
OpenJDK版本选择
环境变量设置
验证安装
05
Repo 工具详解
Repo是什么
工作原理
常用命令
06
源码镜像选择
Google官方源
国内镜像(清华/中科大)
切换方法
07
初始化 Repo 仓库
repo init详解
选择分支
manifest文件
08
同步源码
repo sync详解
断点续传
多线程加速
09
源码目录结构
abi
art
bionic
bootable
10
源码目录结构 (续)
build
cts
dalvik
developers
11
源码目录结构 (三)
device
external
frameworks
hardware
12
源码目录结构 (四)
kernel
libcore
libnativehelper
packages
13
源码目录结构 (五)
pdk
platform_testing
prebuilts
sdk
14
源码目录结构 (六)
system
tools
vendor
Makefile
15
编译环境初始化
source build/envsetup.sh
lunch命令
16
选择编译目标
lunch参数
aosp_arm-eng
product与variant
17
编译系统概述
Android.mk / .bp
Soong
Ninja
18
首次全编译
make命令
编译时间优化
ccache配置
19
编译常见错误
内存不足
磁盘空间
依赖缺失
版本冲突
20
模块编译
mmm / mm
make模块名
编译单个APK
21
增量编译
修改后快速编译
增量原理
注意事项
22
编译输出分析
out目录结构
target/product
host
system.img
23
生成镜像文件
system.img
vendor.img
boot.img
userdata.img
24
模拟器运行
emulator命令
AVD配置
模拟器调试
25
刷机到真机
fastboot命令
解锁bootloader
刷入镜像
26
源码调试技巧
gdb调试
logcat日志
systrace性能
27
版本切换
git checkout分支
repo forall
多分支管理
28
补丁管理
git format-patch
git am
repo upload
Gerrit
29
常见问题排查
同步失败
编译失败
运行崩溃
性能问题
30
课程总结与进阶
AOSP学习路线
社区资源
推荐书籍与文档