OpenHarmony 6.1 源码下载与编译环境搭建(Ubuntu 24.04 版)
想深入理解 HarmonyOS 的实现,或者排查一些”文档里查不到”的行为,最终都会走到读源码这一步。这篇文章记录 OpenHarmony 6.1 LTS 在 Ubuntu 24.04 上从零编译标准系统的完整过程。
环境说明:基于 OpenHarmony 6.1 LTS 验证;7.0 Release 分支编译流程大体一致,本站在 7.0 复测后更新本文。
硬件与系统要求
- CPU:8 核以上,编译是纯 CPU 密集型任务,核心数直接决定耗时;
- 内存:16GB 起步,32GB 体验明显更好;
- 磁盘:至少 200GB 空闲,全套源码加编译产物轻松超过 100GB;
- 系统:Ubuntu 24.04 LTS(本篇文章验证的环境)。
第一步:安装编译依赖
sudo apt update
sudo apt install -y git git-lfs repo python3 python3-pip build-essential gcc g++ make zlib1g-dev libffi-dev libssl-dev libncurses5 libtinfo5 lib32z1 openjdk-17-jdk unzip bc
注意 OpenJDK 用 17 版本,部分构建脚本对 21 的兼容性还不完整,别贪新。
第二步:配置 repo
国内网络建议直接用 gitee 镜像,省去一堆超时问题:
mkdir -p ~/ohos && cd ~/ohos
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-6.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
-c 参数只拉当前分支,能省不少时间和磁盘。代码量大,sync 阶段断网重跑是常态,直接重复执行 repo sync -c 即可续传。
第三步:安装 hb 构建工具
python3 -m pip install --user ohos-build
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
第四步:编译
以 RK3568 标准系统为例:
cd ~/ohos
hb set # 选择 product: rk3568
hb build -f # -f 表示全量编译
首次全量编译在 32 核机器上大约 30-50 分钟,个人电脑可能 1-2 小时。后续增量编译会快很多。
常见报错速查
| 报错现象 | 原因 | 解决 |
|---|---|---|
ninja: build stopped + 内存相关 | 内存不足,链接阶段 OOM | 加 swap 或 hb build --ccache 并减少并行任务 |
| 磁盘写满 | 低估了产物体积 | 预留 200GB,检查 out/ 目录 |
| repo sync 反复失败 | 网络不稳定 | 挂代理,或改用 gitee 镜像 |
| hb 命令找不到 | PATH 未生效 | 检查 pip install 是否加了 --user |
编译产物在哪
成功后镜像在 out/rk3568/packages/phone/images/ 下,用烧录工具(如 RKDevTool)写入开发板即可。
小结
编译环境搭建的核心就三件事:依赖装全、磁盘管够、网络稳住。环境一旦配好,后续版本升级只需要重新 sync 源码,流程基本不变。源码编译是”一次投入、长期受益”的基础设施,建议搭好后用 Docker 把整套环境固化下来,换机器五分钟恢复。
相关阅读:DevEco Studio 常见坑——应用侧环境与系统侧环境的对照清单。
有收获的话,欢迎把本文分享给其他鸿蒙开发者。发现内容过时或有误?欢迎在评论区指出,我会持续更新。