编译开源鸿蒙OpenHarmony的方法

阿里云教程1个月前发布
12 0 0

编译OpenHarmony主要可以通过命令行工具Docker环境两种方式进行。

编译流程:OpenHarmony的编译主要包含四个阶段:

  • Preloader:全盘扫描编译配置文件。
  • Loader:加载并验证配置,处理依赖关系。
  • GN:根据参数生成Ninja构建文件。
  • Ninja:执行实际的编译任务。

准备工作与环境搭建

开始编译前,你需要准备好基础环境并获取源代码。

  • 基础环境要求:编译环境推荐使用 Ubuntu 18.04 或更高版本。需要安装必要的编译工具,例如 Git、Python3.8/3.9、gn、ninja 等。你可以通过以下命令安装(适用于Ubuntu 20.04):
sudo apt-get update -y
sudo apt-get install -y git git-lfs python3.9 python3-pip gn ninja-build
  • 获取源代码:提议通过 repo工具获取OpenHarmony源码。例如,获取指定发布版本(如5.0.2)的代码:
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-5.0.2-Release --no-repo-verify
repo sync -c
  • 完成后,运行 bash build/prebuilts_download.sh以下载必要的预编译工具链。

使用 hb 工具编译

hb是OpenHarmony较新版本推荐的编译工具,尤其适合小型和轻量系统。

安装 hb 工具:在源码根目录下执行以下命令安装(适用于OH 4.x/5.x):

  • python3 -m pip install –user build/hb
  • 安装后,提议将 ~/.local/bin添加到你的 PATH环境变量中。

配置和编译

  • 在源码根目录执行 hb set,然后通过方向键在交互界面中选择你的产品(例如 mini系统中的 wifiiot_hispark_pegasus)。
  • 执行 hb build开始编译。可以添加 -ccache参数加速后续编译。

使用 build.sh 脚本编译

build.sh脚本是另一种常用的编译入口,用法更为直接。

  • 标准系统编译:对于标准系统(如RK3568开发板),使用如下命令:./build.sh –product-name rk3568 –ccache
  • 小型/轻量系统编译:同样可以使用 build.sh。例如,编译轻量系统下的 wifiiot_hispark_pegasus:./build.sh –product-name wifiiot_hispark_pegasus –ccache –no-prebuilt-sdk

使用 Docker 编译

通过Docker可以避免环境污染,保证环境一致性。

  • 获取Docker镜像:可以从官方仓库拉取编译镜像:
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
  • 运行容器并编译:将源码目录挂载到容器中并执行编译命令:
docker run -it --name ohos_build -v $(pwd):/home/openharmony openharmony-docker/openharmony-docker:1.0.0
# 在容器内
cd /home/openharmony
./build.sh --product-name rk3568 --ccache

编译开源鸿蒙OpenHarmony的方法

© 版权声明

相关文章

暂无评论

none
暂无评论...