标准系统添加应用组件

发布于 2021-7-1 20:18
浏览
1收藏

标准系统添加应用组件

标准系统编译构建系统

编译构建

1、标准系统与小型系统的编译构建系统是不一样的。

/build                           # 编译构建主目录
├── config                       # 编译相关的配置项
├── core
│   └── gn                       # 编译入口BUILD.gn配置
├── loader                       # 各个组件配置加载、模板生成
├── ohos                         # OpenHarmony编译打包流程配置
│   ├── kits                     # kits编译打包模板和处理流程
│   ├── ndk                      # ndk模板和处理流程
│   ├── notice                   # notice模板和处理流程
│   ├── packages                 # 版本打包模板和处理流程
│   ├── sa_profile               # sa模板和处理流程
│   ├── sdk                      # sdk模板和处理流程,包括sdk中包含的模块配置
│   └── testfwk                  # 测试相关的处理
├── scripts                      # 编译相关的python脚本
├── templates                    # c/c++编译模板定义
└── toolchain                    # 编译工具链配置

2、编译命令

docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.1
../scripts/prepare.sh
./build.sh --product-name Hi3516DV300 --ccache

编译完成后,结果镜像保存在 out/ohos-arm-release/packages/phone/images/ 目录下。

{product_name}为当前版本支持的平台。

开发步骤

添加组件

1、示例组件partA由src和include组成。

本次示例将添加到subsystem_examples子系统中(subsystem_examples子系统定义在test/developertest/examples目录)

2、编写gn脚本test/developertest/examples/partA/BUILD.gn

import("//build/ohos.gni")

config("helloworld_config") {
  visibility = [ ":*" ]
  include_dirs = [ "include" ]
}

ohos_executable("helloworld") {
  sources = [
    "include/helloworld2.h",
    "src/helloworld2.c",
  ]
  public_configs = [ ":helloworld_config" ]
  install_enable = true  
  subsystem_name = "subsystem_examples"
}

ohos_static_library("helloworld_static") {
  sources = [
    "include/helloworld2.h",
    "src/helloworld2.c",
  ]
  public_configs = [ ":helloworld_config" ]
}

3、修改子系统的的gn脚本(test/developertest/examples/BUILD.gn)

import("//build/ohos.gni")

ohos_subsystem("subsystem_examples") {
  subsystem_packages = [
    "partA:helloworld",
    "partA:helloworld_static",
  ]
}

4、在子系统的ohos.build中添加组件配置:est/developertest/examples/ohos.build。每个子系统有一个ohos.build配置文件,在子系统的根目录下。

{
  "subsystem": "subsystem_examples",
  "parts": {
    "subsystem_examples": {
      "module_list": [
        "//test/developertest/examples/partA:helloworld",
        "//test/developertest/examples/partA:helloworld_static"
      ]
    }
  }
}

5、将组件添加到产品配置中。

产品对应配置文件:productdefine/common/products/Hi3516DV300.json。

在产品配置文件中添加:“subsystem_examples:subsystem_examples”:{},表示该产品中会编译并打包组件到版本中。

6、该子系统要编译需要修改:ohos_var.gni

build_example = true

7、编译

编译所生成的文件都归档在out/ohos-arm-release/目录下,结果镜像输出在 out/ohos-arm-release/packages/phone/images/ 目录下。

标准系统添加应用组件-开源基础软件社区

烧写

使用Hitool工具烧写Hispark,烧写emmc,添加Hi3516DV300-emmc.xml。烧写完成之后板子自动重启。板子起来之后,在/system/bin下有应用的可执行文件。

1
收藏 1
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐