This action will force synchronization from OpenHarmony/build_lite, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
一个基于gn和ninja的支持OpenHarmony组件化开发的编译框架,主要提供以下功能:
构建产品。
独立构建芯片厂商组件。
独立构建单个组件。
在开发编译构建前,应了解如下基本概念:
组件
可复用的软件单元,它可包含源码、配置文件、资源文件和编译脚本等。
gn
Generate ninja的缩写,一种元构建系统,用于产生ninja文件。
ninja
ninja是一个专注于速度的小型构建系统。
构建流程如下:
编译构建流程如图1所示,主要包括设置和编译两步:
build/lite # 编译构建主目录
├── components # 组件描述文件。
├── hb # hb pip安装包源码。
├── make_rootfs # 文件系统制作脚本。
├── config # 编译相关的配置项
│ ├── component # 组件相关的模板定义。包括:静态库、动态库、扩展组件、模拟器库等
│ ├── kernel # 内核的编译配置参数
│ └── subsystem # 子系统模板
├── ndk # Native API相关编译脚本与配置参数
└── toolchain # 编译工具链相关,包括:编译器路径、编译选项、链接选项等。
前提条件
安装hb
在源码根目录下执行:
python3 -m pip install --user build/lite
执行hb -h有相关帮助信息,有打印信息即表示安装成功:
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit
卸载方法:
python3 -m pip uninstall ohos-build
编译命令
hb set
hb set -h
usage: hb set [-h] [-root [ROOT_PATH]] [-p]
optional arguments:
-h, --help Show this help message and exit.
-root [ROOT_PATH], --root_path [ROOT_PATH]
Set OHOS root path.
-p, --product Set OHOS board and kernel.
hb env
查看当前设置信息
hb env
[OHOS INFO] root path: xxx
[OHOS INFO] board: hispark_taurus
[OHOS INFO] kernel: liteos
[OHOS INFO] product: ipcamera
[OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera
[OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19
hb build
hb build -h
usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]]
[--dmverity] [-p PRODUCT] [-f] [-n]
[component [component ...]]
positional arguments:
component Name of the component.
optional arguments:
-h, --help Show this help message and exit.
-b BUILD_TYPE, --build_type BUILD_TYPE
Release or debug version.
-c COMPILER, --compiler COMPILER
Specify compiler.
-t [TEST [TEST ...]], --test [TEST [TEST ...]]
Compile test suit.
--dmverity Enable dmverity.
-p PRODUCT, --product PRODUCT
Build a specified product with
{product_name}@{company}, eg: ipcamera@hisilcon.
-f, --full Full code compilation.
-T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]]
Compile single target
hb clean
清除out目录对应产品的编译产物,仅剩下args.gn、build.log。清除指定路径可输入路径参数:hb clean xxx/out/xxx,否则将清除hb set的产品对应out路径
hb clean
usage: hb clean [-h] [out_path]
positional arguments:
out_path Clean a specified path.
optional arguments:
-h, --help Show this help message and exit.
编译构建子系统
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。