特性
特性配置规则
下面介绍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" ] } } 

 也可以通过以下方式为模块定义代码宏进行代码级差异化配置:
if ({partName}_feature_A) {
    defines += ["FEATUREA_DEFINE"]
} 
 
鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力


内容包含:《鸿蒙NEXT星河版开发学习文档》
- ArkTS
 - 声明式ArkUI
 - 多媒体
 - 通信问题
 - 系统移植
 - 系统裁剪
 - FW层的原理
 - 各种开发调试工具
 - 智能设备开发
 - 分布式开发等等。
 
这些就是对往后开发者的分享,希望大家多多点赞关注喔!








![[嵌入式系统-73]:RT-Thread-快速上手:如何选择RT Thread的版本?](https://img-blog.csdnimg.cn/img_convert/701a3a9ba6775ca9e4555c9c9582ee07.jpeg)










