LOADING

加载过慢请开启缓存 浏览器默认开启

openharmony用ubuntu编写子系统模块

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":[] }
    ]
  },

最后保存编译即可

openharmony烧录hi3861芯片