同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
build/lite # 编译构建主目录
├── components # 组件描述文件。
├── hb # hb pip安装包源码。
├── make_rootfs # 文件系统制作脚本。
├── config # 编译相关的配置项
│ ├── component # 组件相关的模板定义。包括:静态库、动态库、扩展组件、模拟器库等
│ ├── kernel # 内核的编译配置参数
│ └── subsystem # 子系统模板
├── ndk # NDK相关编译脚本与配置参数
└── toolchain # 编译工具链相关,包括:编译器路径、编译选项、链接选项等。
添加组件编译脚本。
组件的编译脚本语言为gn,gn的基本用法请见gn快速入门。组件即为gn中的编译单元,可以为静态库、动态库或可执行文件。
以编译组件hello_world可执行文件为例:
executable("hello_world") {
include_dirs = [
"include",
]
sources = [
"src/hello_world.c"
]
}
如上编译脚本,可编译出一个可在OpenHarmony上运行的名为hello_world的可执行文件。
添加组件描述。
组件描述位于build/lite/components下,新增的组件需加入对应子系统的json文件中。一个组件描述必选的字段有:
以将hello_world组件加入应用子系统为例,在applications.json中添加hello_world对象:
{
"components": [
{
"component": hello_world",
"description": "Hello world.",
"optional": "true",
"dirs": [
"applications/sample/hello_world"
],
"targets": [
"//applications/sample/hello_world"
]
},
...
]
}
将组件配置到产品。
产品的配置文件位于位于vendor/company/下,产品配置文件需包含产品名称、OpenHarmony版本号、device厂商、开发板名称、内核类型、内核版本号,以及配置的子系统和组件。以将hello_world组件加入产品配置文件my_product.json中为例,加入hello_wolrd对象:
{
"product_name": "hello_world_test",
"ohos_version": "OpenHarmony 1.0",
"device_company": "hisilicon",
"board": "hispark_taurus",
"kernel_type": "liteos_a",
"kernel_version": "1.0.0",
"subsystems": [
{
"subsystem": "applications",
"components": [
{ "component": "hello_world", "features":[] }
]
},
...
]
}
编译组件或者产品。
输入hb set选择hello_world_test@hisilicon
编译hello_world组件:hb build hello_world
编译hello_world_test产品:hb build
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。