特性
特性配置规则
下面介绍feature的声明、定义以及使用方法。
feature的声明
开发前请熟悉鸿蒙开发指导文档:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]。
在部件的bundle.json文件中通过feature_list来声明部件的feature列表,每个feature都必须以" {部件名} "开头。示例如下:{ "name": "@ohos/xxx", "component": { "name": "partName", "subsystem": "subsystemName", "features": [ "{partName}_feature_A" ] } }features中可以为部件声明多个feature。feature的定义
在部件内可通过以下方式定义feature的默认值:declare_args() { {partName}_feature_A = true }该值是此部件的默认值,产品可以在部件列表中重载该feature的值。
feature需给部件内多个模块使用时,建议把feature定义在部件的全局gni文件中,各个模块的BUILD.gn中import该gni文件。
feature的使用
BUILD.gn文件中可通过以下方式进行根据feature决定部分代码或模块参与编译:if ({partName}_feature_A) { sources += [ "xxx.c" ] } # 某个特性引入的依赖,需要通过该feature进行隔离 if ({partName}_feature_A) { deps += [ "xxx" ] external_deps += [ "xxx" ] } # bundle.json中不支持if判断,如果bundle.json中包含的sub_component需要被裁减,可以定义group进行裁减判断 group("testGroup") { deps = [] if ({partName}_feature_A) { deps += [ "xxx" ] } } `HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿`

也可以通过以下方式为模块定义代码宏进行代码级差异化配置:
if ({partName}_feature_A) {
defines += ["FEATUREA_DEFINE"]
}
审核编辑 黄宇
-
开发板
+关注
关注
25文章
6140浏览量
113749 -
鸿蒙
+关注
关注
60文章
2864浏览量
45394 -
OpenHarmony
+关注
关注
31文章
3928浏览量
20737
发布评论请先 登录
鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板
openharmony开发版 openharmony开发板
触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程
如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示
OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示
OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示
OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置
贝启BQ3568HM 开发板被选用为 OpenHarmony 明星开发板
触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例
触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

鸿蒙OpenHarmony开发板解析:【特性配置规则】
评论