如何按需配置部件的系統能力
SysCap(SystemCapability,系統能力)是部件向開發者提供的接口的集合。
開發前請熟悉鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
部件配置系統能力
部件配置系統能力是為了方便某個特定部件是否要打開或關閉特定的系統能力。
部件配置系統能力的位置在部件目錄下的bundle.json,配置示例如下所示:
"component": {
"name": "wifi",
"subsystem": "communication",
"syscap": [
"SystemCapability.Communication.WiFi.STA = true",
"SystemCapability.Communication.WiFi.AP = true",
"SystemCapability.Communication.WiFi.P2P = false",
"SystemCapability.Communication.WiFi.Core = false",
"SystemCapability.Communication.WiFi.HotspotExt"
]
],
...
}
在component下加入關鍵字syscap,對內部配置相應的系統能力。系統能力若無賦值,則默認為true,若有賦值,則按實際值為準。若值為true,則表示該部件默認開啟此系統能力,若值為false,則表明該部件默認關閉此系統能力。
以上配置表明,WIFI的STA、AP、和HotspotExt三個系統能力是打開的,而P2P和Core是關閉的。
產品配置系統能力
產品配置系統能力是為了方便某個特定產品是否要打開或關閉特定的系統能力,若無配置,則以部件側的配置為準,產品配置系統能力的位置在vender/{company}/{product}/config.json。
如果要對產品的系統能力進行精細化配置,可在產品配置中加入syscap關鍵字,并對要配置的系統能力賦值。產品側的配置優先級大于部件系統能力默認配置,若某一個系統能力在部件側默認配置為false,在產品側配置為true,則這個系統能力的最終配置為true。示例如下:
{
"subsystem": "communication",
"components": [
...
{
"component": "wifi",
"features": [],
"syscap": [
"SystemCapability.Communication.WiFi.AP = false",
"SystemCapability.Communication.WiFi.P2P = true",
"SystemCapability.Communication.WiFi.HotspotExt = false"
]
},
...
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
以上配置表明,WiFi的AP和HotspotExt系統能力是關閉的,而P2P是打開的。綜合部件側的配置,最終STA、P2P為打開系統能力,而AP、Core和HotspotExt為關閉的系統能力。
部件側配置和產品側配置的作用
一般來說,當產品沒有特性化差異的時候,我們僅需在部件側配置系統能力,部件側配置的系統能力是我們的基礎,只有當產品存在特性化差異,需要關閉某個默認打開的系統能力或打開某個系統默認關閉的系統能力時,我們才會需要在產品側配置。
審核編輯 黃宇
-
開發板
+關注
關注
25文章
5093瀏覽量
97800 -
鴻蒙
+關注
關注
57文章
2378瀏覽量
42937 -
OpenHarmony
+關注
關注
25文章
3731瀏覽量
16425
發布評論請先 登錄
相關推薦
評論