01
鸿蒙编译子系统概述
什么是编译子系统 · 设计目标 · 与AOSP区别
概念架构
02
编译环境搭建
Ubuntu环境 · Python/pip · 交叉编译链 · 依赖库
环境工具链
03
源码获取与目录结构
repo工具 · manifest仓库 · device/vendor/hardware
源码repo
04
构建系统核心概念
gn与ninja · BUILD.gn结构 · target/action · 依赖
gnninja
05
产品配置与BoardConfig
产品定义 · BoardConfig.mk · device目录配置
产品板级
06
Kconfig与内核配置
Kconfig语法 · menuconfig · 内核裁剪/模块
内核配置
07
编译入口与流程
hb工具 · hb set/build · 全链路解析
hb流程
08
gn构建规则详解
模板(template) · 源文件/头文件 · 条件编译
gn模板
09
ninja执行与优化
ninja文件 · 并行编译 · ccache缓存
ninja加速
10
镜像打包与分区
分区表 · system/vendor/userdata · 稀疏/raw
镜像分区
11
签名与安全机制
签名工具 · 证书管理 · verified boot/dm-verity
安全签名
12
增量编译与缓存
增量原理 · ninja restat · 缓存策略
增量缓存
13
预编译库与第三方组件
预编译集成 · BUILD.gn引用so/a · 组件适配
预编译三方
14
多架构支持
ARM64/ARM32/x86_64 · 多架构编译 · ABI兼容
架构ABI
15
编译错误排查
常见错误 · 日志分析 · gn check/ninja -v
调试错误
16
自定义编译目标
新增产品 · 新增模块 · 自定义镜像打包
扩展定制
17
编译脚本与自动化
shell脚本 · CI/CD集成 · Jenkins/GitLab CI
自动化CI
18
资源编译与打包
资源管理 · overlay机制 · 多语言资源
资源overlay
19
驱动编译与集成
HDF驱动框架 · 驱动BUILD.gn · 内核依赖
驱动HDF
20
系统服务编译
SAMGR框架 · 服务注册/发现 · 编译配置
服务SAMGR
21
应用编译与HAP打包
应用BUILD.gn · HAP打包 · 签名安装
应用HAP
22
编译性能优化
分布式编译 · ccache · 预编译头 · 时间分析
性能优化
23
版本管理与构建变体
debug/release/eng · 版本号 · 构建类型
版本变体
24
补丁与源码管理
patch管理 · repo hooks · 同步/冲突解决
补丁repo
25
编译输出分析
out目录 · 编译产物 · map文件/符号表
产物分析
26
鸿蒙轻量系统编译
LiteOS-M/A · 轻量目录 · 资源受限优化
轻量LiteOS
27
标准系统编译详解
Linux内核 · 系统库 · 框架层编译
标准系统内核
28
编译系统扩展开发
自定义gn模板 · 扩展工具 · 插件化编译
扩展插件
29
鸿蒙编译系统未来演进
统一构建 · Bazel迁移 · 效率提升方向
未来Bazel
30
综合实战:从零编译鸿蒙发行版
需求分析 · 产品配置 · 编译调试 · 镜像烧录
实战发行版