> 文档中心 > 理清鸿蒙系统 组件概念

理清鸿蒙系统 组件概念

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

# 方舟运行时公共组件

- [方舟运行时公共组件](#方舟运行时公共组件)
  - [简介](#简介)
  - [目录](#目录)
  - [使用说明](#使用说明)
    - [汇编器工具概述](#汇编器工具概述)
    - [反汇编器工具概述](#反汇编器工具概述)
  - [相关仓](#相关仓)

## 简介

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

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

文件:config.json

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

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