特性
特性配置規(guī)則
下面介紹feature的聲明、定義以及使用方法。
feature的聲明
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔:[
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的定義
在部件內(nèi)可通過以下方式定義feature的默認值:declare_args() { {partName}_feature_A = true }
該值是此部件的默認值,產(chǎn)品可以在部件列表中重載該feature的值。
feature需給部件內(nèi)多個模塊使用時,建議把feature定義在部件的全局gni文件中,各個模塊的BUILD.gn中import該gni文件。
feature的使用
BUILD.gn文件中可通過以下方式進行根據(jù)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"]
}
審核編輯 黃宇
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5144瀏覽量
98414 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2398瀏覽量
43130 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3753瀏覽量
16712
發(fā)布評論請先 登錄
相關(guān)推薦
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】
![<b class='flag-5'>OpenHarmony</b><b class='flag-5'>鴻蒙</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于Hi3518<b class='flag-5'>開發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D3/A2/wKgZomYlGnGAEsJrAAnql-cr_sM996.jpg)
鴻蒙OpenHarmony開發(fā)板:【產(chǎn)品配置規(guī)則】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)板</b>:【產(chǎn)品<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>】](https://file1.elecfans.com/web2/M00/C9/99/wKgaomYeL0WAZFDHAAACSiKnE8w930.jpg)
鴻蒙OpenHarmony開發(fā)板解析:【 模塊配置規(guī)則】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>解析</b>:【 模塊<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>】](https://file1.elecfans.com/web2/M00/C9/99/wKgaomYeL0WAZFDHAAACSiKnE8w930.jpg)
鴻蒙OpenHarmony開發(fā)板解析:【Rust模塊配置規(guī)則和指導】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>解析</b>:【Rust模塊<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>和指導】](https://file1.elecfans.com/web2/M00/E4/89/wKgaomY814aAXIR1AAA01VxEKNI913.jpg)
鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板
openharmony開發(fā)版 openharmony開發(fā)板
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】
![<b class='flag-5'>OpenHarmony</b><b class='flag-5'>鴻蒙</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于3516<b class='flag-5'>開發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D1/4F/wKgaomYidIOAb5t-AASi2dMK2KA073.jpg)
鴻蒙OpenHarmony開發(fā)板解析:【系統(tǒng)能力配置規(guī)則】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>解析</b>:【系統(tǒng)能力<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>】](https://file1.elecfans.com/web2/M00/E4/2D/wKgZomY-07KAczMJAABV_Aabths785.png)
觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release,開啟新征程
![觸覺智能Purple Pi OH<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>成功適配<b class='flag-5'>OpenHarmony</b>5.0 Release,開啟新征程](https://file1.elecfans.com/web2/M00/0B/17/wKgaomcbB5CAT81-AABxUeJzZxU480.png)
如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示
![如何在開源<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>演示](https://file1.elecfans.com/web2/M00/0C/C1/wKgaomc7Hr6AL1UtAAB6Pp_Ckc0170.png)
OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來演示
![<b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>來演示](https://file1.elecfans.com/web3/M00/00/12/wKgZPGdGdlaAQcG2AAB7LqkFe94757.png)
OpenHarmony默認30秒熄屏太麻煩?觸覺智能鴻蒙開發(fā)板教你輕松取消
![<b class='flag-5'>OpenHarmony</b>默認30秒熄屏太麻煩?觸覺智能<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>教你輕松取消](https://file1.elecfans.com/web3/M00/01/8E/wKgZPGdWZ_GAGdDCAAB7Ia_4sBM517.png)
OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示
![<b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>演示](https://file1.elecfans.com/web3/M00/03/8B/wKgZPGdqLoyAKZgAAAB1wHV_XdE820.png)
OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發(fā)板演示
![<b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>演示](https://file1.elecfans.com/web3/M00/04/41/wKgZO2dyAH2AFFx6AAB2FN45Lh8124.png)
評論