理清鸿蒙系统 组件概念
一、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包的才可以独立升级,安装等