01
鸿蒙编译系统全景
从源码到镜像的完整旅程,理解编译构建系统在鸿蒙生态中的核心地位。
全景核心
02
编译环境搭建
Ubuntu环境准备、依赖工具安装、Python/Node.js/CCache等工具链配置。
环境工具链
03
源码获取与管理
Repo工具使用、manifest仓库管理、分支切换与代码同步策略。
Repo分支
04
构建系统初探
hb工具入门、build.sh脚本分析、产品配置与编译命令解析。
hb脚本
05
GN构建系统核心
GN语法基础、BUILD.gn文件结构、target与dependency定义。
GN语法
06
Ninja构建系统
Ninja工作原理、.ninja文件生成、构建图与并行编译优化。
Ninja并行
07
产品配置深度解析
productdefine目录结构、产品JSON配置、子系统与部件声明。
配置JSON
08
子系统与部件
子系统划分原则、部件定义与注册、部件间依赖管理。
部件依赖
09
内核编译集成
LiteOS与Linux内核编译、内核配置裁剪、与用户态构建的衔接。
内核LiteOS
10
HDF驱动框架编译
HDF驱动模型、驱动编译脚本编写、驱动加载与绑定。
驱动HDF
11
系统服务编译
SAMGR服务框架、服务注册与发现、服务编译配置。
服务SAMGR
12
应用编译框架
ACE开发框架、应用打包与签名、HAP包生成流程。
ACEHAP
13
资源编译与国际化
资源文件管理、字符串/图片/布局资源编译、多语言构建。
资源i18n
14
预编译与二进制集成
预编译库管理、第三方库集成、二进制发布策略。
预编译第三方
15
编译缓存与增量构建
CCache配置、Ninja增量构建原理、构建加速技巧。
缓存增量
16
构建变体与调试模式
debug/release/profile模式、符号表管理、调试符号剥离。
变体调试
17
编译脚本自定义
自定义build扩展、Python脚本集成、构建钩子函数。
脚本钩子
18
构建日志与错误排查
编译日志分析、常见编译错误、依赖缺失与版本冲突解决。
日志排错
19
分布式编译
ccache分布式、distcc配置、多机器编译加速方案。
分布式加速
20
构建产物分析
镜像大小分析、依赖树可视化、冗余依赖清理。
分析优化
21
持续集成与构建
CI/CD流水线集成、自动化构建、构建产物归档。
CI/CD自动化
22
版本管理与构建
版本号生成、构建时间戳、构建信息注入。
版本注入
23
安全编译选项
ASLR、PIE、Stack Protector、Fortify Source等安全编译特性。
安全ASLR
24
代码覆盖率与测试
gcov/lcov配置、单元测试编译、覆盖率报告生成。
覆盖率测试
25
LiteOS-M内核构建
轻量系统内核编译、ROM/RAM优化、链接脚本定制。
LiteOS-M链接
26
标准系统构建
Linux内核+用户态完整构建、系统镜像打包、分区表配置。
标准系统镜像
27
芯片适配与板级包
Board Support Package、芯片SDK集成、设备树编译。
BSP设备树
28
构建系统演进
从Makefile到GN/Ninja、构建系统设计哲学、未来趋势。
演进设计
29
开源社区构建实践
PR提交规范、构建CI检查、社区构建最佳实践。
社区PR
30
综合实战
从零构建一个鸿蒙发行版、定制产品配置、构建系统问题排查实战。
实战发行版