openharmony用ubuntu编写子系统模块
在鸿蒙里面系统由很多的子系统组成
子系统里面又可以由很多的模块组成
在构建系统的时候可以选择只调用部分的子系统或者部分模块
(类似C语言里面的函数)
我们可以在
//鸿蒙根目录/build/subsystem_config.json
查看有哪些的子系统
"子系统名": {
"path": "子系统路径",
"name": "子系统名",
},
为子系统添加模块
假设我们要为applications子系统
创建名为abc的模块
我们先去
//鸿蒙根目录/build/subsystem_config.json
找到applications子系统的路径
然后我们打开//鸿蒙根目录/applications/standard
在里面创建abc的文件夹
按照openharmony用ubuntu编写helloworld的方法
添加
abc
├─ BUILD.gn
└─ hello
├─ BUILD.gn
└─ hello.c
如果不理解直接下载下面的文件拷进adc里面自己理解
https://wwwe.lanzouq.com/iSIof2atjf8j
密码:41nt
然后把模块关联进applications
我们在
//鸿蒙根目录/build/lite/components/
下面可以看到applications.json文件
在下一个模块下方添加新的模块代码
{
"component": "hello",
"description": " ",
"optional": "true",
"dirs": [
"applications/sample/abc"
],
"targets": [
"//applications/sample/abc"
],
"rom": "",
"ram": "",
"output": [],
"adapted_board": [ "hi3861v100" ],
"adapted_kernel": [ "liteos_m" ],
"features": [],
"deps": {
"components": [
"utils_base"
]
}
}
如果是最后一个模块前往不要加 “,”
然后修改编译配置文件
备注:
如果芯片不同记得找到自己编译配置文件
vendor下面是第一个路径芯片品牌,再进去才是芯片编译方案
编译文件都是config.json
(只是拿hi3861举例)
打开//鸿蒙根目录/vendor/hisilicon/hispark_pegasus/config.json
找到applications的子系统
在下面修改为添加新的模块
{
"subsystem": "applications",
"components": [
{ "component": "wifi_iot_sample_app", "features":[] },
{ "component": "hello", "features":[] }
]
},