特性
特性配置規(guī)則
下面介紹feature的聲明、定義以及使用方法。
feature的聲明
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]。
在部件的bundle.json文件中通過(guò)feature_list來(lái)聲明部件的feature列表,每個(gè)feature都必須以" {部件名} "開頭。示例如下:
{
"name": "@ohos/xxx",
"component": {
"name": "partName",
"subsystem": "subsystemName",
"features": [
"{partName}_feature_A"
]
}
}
features中可以為部件聲明多個(gè)feature。
feature的定義
在部件內(nèi)可通過(guò)以下方式定義feature的默認(rèn)值:
declare_args() {
{partName}_feature_A = true
}
該值是此部件的默認(rèn)值,產(chǎn)品可以在部件列表中重載該feature的值。
feature需給部件內(nèi)多個(gè)模塊使用時(shí),建議把feature定義在部件的全局gni文件中,各個(gè)模塊的BUILD.gn中import該gni文件。
feature的使用
BUILD.gn文件中可通過(guò)以下方式進(jìn)行根據(jù)feature決定部分代碼或模塊參與編譯:
if ({partName}_feature_A) {
sources += [ "xxx.c" ]
}
# 某個(gè)特性引入的依賴,需要通過(guò)該feature進(jìn)行隔離
if ({partName}_feature_A) {
deps += [ "xxx" ]
external_deps += [ "xxx" ]
}
# bundle.json中不支持if判斷,如果bundle.json中包含的sub_component需要被裁減,可以定義group進(jìn)行裁減判斷
group("testGroup") {
deps = []
if ({partName}_feature_A) {
deps += [ "xxx" ]
}
}
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
也可以通過(guò)以下方式為模塊定義代碼宏進(jìn)行代碼級(jí)差異化配置:
if ({partName}_feature_A) {
defines += ["FEATUREA_DEFINE"]
}
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過(guò)RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
發(fā)表于 04-22 15:46
?2043次閱讀
產(chǎn)品解決方案為基于開發(fā)板的完整產(chǎn)品,主要包含產(chǎn)品對(duì)OS的適配、部件拼裝配置、啟動(dòng)配置和文件系統(tǒng)配置等。產(chǎn)品解決方案的源碼路徑規(guī)則為:**ve
發(fā)表于 05-09 10:32
?1157次閱讀
編譯子系統(tǒng)通過(guò)模塊、部件和產(chǎn)品三層配置來(lái)實(shí)現(xiàn)編譯和打包。模塊就是編譯子系統(tǒng)的一個(gè)目標(biāo),包括(動(dòng)態(tài)庫(kù)、靜態(tài)庫(kù)、配置文件、預(yù)編譯模塊等)。模塊要定義屬于哪個(gè)部件,一個(gè)模塊只能歸屬于一個(gè)部件。
發(fā)表于 05-10 14:39
?1075次閱讀
Rust是一門靜態(tài)強(qiáng)類型語(yǔ)言,具有更安全的內(nèi)存管理、更好的運(yùn)行性能、原生支持多線程開發(fā)等優(yōu)勢(shì)。Rust官方也使用Cargo工具來(lái)專門為Rust代碼創(chuàng)建工程和構(gòu)建編譯。 OpenHarmony為了集成
發(fā)表于 05-10 11:32
?1307次閱讀
芯片解決方案是指基于某款開發(fā)板的完整解決方案,包含驅(qū)動(dòng)、設(shè)備側(cè)接口適配、開發(fā)板sdk等。
發(fā)表于 05-10 15:42
?1255次閱讀
大家期待已久的迅為RK3568開發(fā)板終于迎來(lái)了鴻蒙4.1系統(tǒng)的強(qiáng)勢(shì)支持!想知道如何實(shí)現(xiàn)快速開發(fā)學(xué)習(xí)嗎?跟著我們一起來(lái)探索吧!
迅為RK3568開發(fā)板:
想象一下,你手中的RK3568
發(fā)表于 07-23 10:44
現(xiàn)在市面上支持OpenHarmony的開發(fā)板已經(jīng)非常多了,OpenHarmony不僅僅只能在海思系列芯片上運(yùn)行,比較常見的有HiSpark、小熊派系列。這些開發(fā)板都是基于海思的Hi38
發(fā)表于 06-24 09:03
?3682次閱讀
基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過(guò)RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
發(fā)表于 04-19 22:01
?612次閱讀
SysCap(SystemCapability,系統(tǒng)能力)是部件向開發(fā)者提供的接口的集合。
發(fā)表于 05-11 10:10
?604次閱讀
觸覺智能Purple Pi OH鴻蒙開發(fā)板,成功適配OpenHarmony5.0 Release版本!為大家?guī)?lái)OpenHarmony5.0特性
發(fā)表于 10-25 10:51
?412次閱讀
本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關(guān)閉SELinux權(quán)限的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新Open
發(fā)表于 11-18 19:03
?347次閱讀
本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmon
發(fā)表于 11-27 09:31
?182次閱讀
OpenHarmony系統(tǒng)開機(jī)后 30 秒會(huì)自動(dòng)息屏,教大家兩招輕松取消自動(dòng)息屏,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
發(fā)表于 12-09 11:45
?219次閱讀
開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval
發(fā)表于 12-24 11:46
?201次閱讀
本文介紹瑞芯微主板/開發(fā)板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示。搭載了瑞芯微RK3566四核處理器,樹莓派卡片電腦設(shè)計(jì),支持開
發(fā)表于 12-30 10:08
?75次閱讀
評(píng)論