理清鸿蒙系统 组件概念

 一、Open Harmony系统中组件的概念如下:

1.组件时最基本的交付单元,可以是一套配置、一个独立的功能模块、或一组资源文件和编译脚本;

2.一般一个组件由若干个源文件和一个构建配置文件BUILD.gn组成;

3.BUILD.gn中定义了一个构建对象,分别设置了组件源码、使用到的头文件和依赖的模块;

4.根目录下的一级目录是模块,二级目录是子系统,三级目录是组件;

5.在配置子系统时,需要在子系统对应的json文件里配置相应的组件,每个组件配置了组件名称、组件描述、是否为最小系统必选、源文件路径、编译组件入口、组件ROM大小、组件RAM估值、组件编译输出结果、 已适配内核、组件支持的特性、组件依赖的其他组件、组件依赖的三方组件等,建议组件名称和BUILD.gn中配置的编译目标保持一致;

6.特殊的组件:vender,芯片解决方案,产品解决方案等;

7.组件时最小的可独立交付的模块、代码、资源等,并且通过逻辑概念子系统进行管理和配置。

具体举例:

  

 {
    "name": "@ohos/ark_runtime_core",
    "version": "",
    "description": "方舟运行时的公共组件",
    "homePage": "https://gitee.com/openharmony",
    "license": "Apache Liscense 2.0",
    "publishAs": "code-segment",
    "scripts": {},
    "dirs": [],
    "segment": {
        "destPath": "ark/runtime_core"
    },
    "component": {
        "name": "ark",
        "subsystem": "ark",
        "syscap": [],
        "features": [],
        "adapted_system_type": [
            "standard"
        ],
        "rom": "",
        "ram": "",

        "deps": {
            "components": [],
            "third_party": []
        },
        "build": {
            "sub_component": [
                "//ark/runtime_core:ark_packages"
            ],
            "inner_kits": [],
            "test": []
        }
    }
}

# 方舟运行时公共组件<a name="ZH-CN_TOPIC_0000001138850082"></a>

- [方舟运行时公共组件<a name="ZH-CN_TOPIC_0000001138850082"></a>](#方舟运行时公共组件)
  - [简介<a name="section11660541593"></a>](#简介)
  - [目录<a name="section161941989596"></a>](#目录)
  - [使用说明<a name="section1312121216216"></a>](#使用说明)
    - [汇编器工具概述](#汇编器工具概述)
    - [反汇编器工具概述](#反汇编器工具概述)
  - [相关仓<a name="section1371113476307"></a>](#相关仓)

## 简介<a name="section11660541593"></a>

Runtime Core组件是方舟运行时的公共组件,

二、bundle.json 脚本说明

1.bundle.json不参与编译,其中的内容只是声明,里面的install只是个类似于标签的存在,它的作用是将out\rk3568\communication\dsoftbus_standard中的so文件拷贝到目的目录下;
2.HPM是连接消费方和提供方的一个开放的协作平台,全称是OpenHarmony Package Manager(即包管理器),相当于系统组件,Part是HPM管理的对象;
3.这里下载内容就是HPM里的Packages,具体可以请教HarmonyOS那边的技术人员;
4.前面所讲的安装,更新等,是指每个组件可以单独编译,但是在更新进开发板中只能通过完整的系统镜像进行烧录更新,而不能单独地通过某种方式只更新这个组件。

三、App 应用中,在鸿蒙包管理子系统中,也提到组件,这个是另外一个概念。

文件:config.json

  "module": {
    "package": "com.ohos.commonutil",
    "deviceType": [
      "phone"
    ],
    "distro": {
      "deliveryWithInstall": true,
      "moduleName": "commonutil",
      "moduleType": "har"
    }
  }

系统组件只能跟着系统升级,更新等,只有应用的组件,也就是可以打包成hap包的才可以独立升级,安装等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值