自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HarmonyOS應(yīng)用配置文件config.json

系統(tǒng) OpenHarmony
 一個(gè)工程中的配置文件有兩種,一種是主模塊entry的配置文件config.json,另一種是應(yīng)用程序環(huán)境的配置文件build.gradle。

[[417431]]

想了解更多內(nèi)容,請?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

一個(gè)工程中的配置文件有兩種,一種是主模塊entry的配置文件config.json,另一種是應(yīng)用程序環(huán)境的配置文件build.gradle。其中config.json至少有2個(gè),一個(gè)位于entry下,另一個(gè)位于應(yīng)用根目錄下。每增加一個(gè)feature模塊,也會相應(yīng)增加一個(gè)build.gradle文件。

1.config.json

DevEco Studio提供了兩種編輯“config.json”文件的方式。在“config.json”的編輯窗口中,可在右上角切換代碼編輯視圖或可視化編輯視圖(如下圖所示)。

HarmonyOS應(yīng)用配置文件config.json-鴻蒙HarmonyOS技術(shù)社區(qū)

 “config.json”由“app”、“deviceConfig”和“module”三個(gè)部分組成,各部分含義如下表所示。

(1)app屬性對象的內(nèi)部結(jié)構(gòu)說明如下:

​ bundleName: 表示應(yīng)用的包名,用于標(biāo)識應(yīng)用的唯一性。包名是由字母、數(shù)字、下劃線(_)和點(diǎn)號(.)組成的字符串,必須以字母開頭。支持的字符串長度為7~127字節(jié)。通常采用反域名形式表示。

​ vendor: 表示對應(yīng)用開發(fā)廠商的描述。字符串長度不超過255字節(jié)。

​ version: 表示應(yīng)用的版本信息。

​ apiVersion:(可不設(shè)置)表示應(yīng)用依賴的HarmonyOS的API版本。compatible表示應(yīng)用運(yùn)行需要的API最小版本。取值為大于零的整數(shù)。(一旦添加了APIVersion屬性,則該子屬性不可缺省)。target表示應(yīng)用運(yùn)行需要的API目標(biāo)版本。取值為大于零的整數(shù)??扇笔?。releaseType表示應(yīng)用運(yùn)行需要的API目標(biāo)版本的類型。取值為“CanaryN”(受限發(fā)布的版本)、“BetaN”(公開發(fā)布的Beta版本)或者“Release”(公開發(fā)布的正式版本),其中,N代表大于零的整數(shù)。

app屬性定義示例如下所示:

  1. "app": { 
  2.  
  3. ​    "bundleName""com.huawei.hiworld.example",  
  4.  
  5. ​    "vendor""huawei",  
  6.  
  7. ​    "version": { 
  8.  
  9. ​        "code": 2,  
  10.  
  11. ​        "name""2.0" 
  12.  
  13. ​    }, 
  14.  
  15. ​    "apiVersion": { 
  16.  
  17. ​        "compatible": 3,  
  18.  
  19. ​        "target": 3, 
  20.  
  21. ​        "releaseType""Beta1" 
  22.  
  23. ​    } 
  24.  

(2)deviceConfig屬性對象設(shè)置包含在具體設(shè)備上的應(yīng)用配置信息,可以包含default、phone、tablet、tv、car、wearable、liteWearable和smartVision等屬性。default標(biāo)簽內(nèi)的配置是適用于所有設(shè)備通用,其他設(shè)備類型如果有特殊的需求,則需要在該設(shè)備類型的標(biāo)簽下通過default(所有設(shè)備)、phone(手機(jī))、tablet(平板)、tv(智慧屏)、car(車機(jī))、wearable(智能穿戴設(shè)備)、liteWearable(輕量級智能穿戴設(shè)備)和smartVision(智能攝像頭)等子屬性對象進(jìn)行配置。如果沒有對設(shè)備的特殊需求,可以設(shè)置該屬性對象為空,即"deviceConfig": {}。deviceConfig屬性對象的內(nèi)部屬性結(jié)構(gòu)說明如下:

default、phone、tablet、tv、car、wearable、liteWearable和smartVision等對象的內(nèi)部結(jié)構(gòu)說明如下所示:

其中network對象的內(nèi)部屬性結(jié)構(gòu)說明如下:

securityConfig對象的內(nèi)部屬性結(jié)構(gòu)說明如下:

deviceConfig屬性定義示例如下所示,該示例中主要對應(yīng)用的進(jìn)程名、是否支持備份、網(wǎng)絡(luò)安全進(jìn)行配置。

  1. "deviceConfig": { 
  2.  
  3. ​    "default": { 
  4.  
  5. ​        "process""com.huawei.hiworld.example",  
  6.  
  7. ​        "supportBackup"false
  8.  
  9. ​        "network": { 
  10.  
  11. ​            "cleartextTraffic"true,  
  12.  
  13. ​            "securityConfig": { 
  14.  
  15. ​                "domainSettings": { 
  16.  
  17. ​                    "cleartextPermitted"true,  
  18.  
  19. ​                    "domains": [ 
  20.  
  21. ​                        { 
  22.  
  23. ​                            "subdomains"true,  
  24.  
  25. ​                            "name""example.ohos.com" 
  26.  
  27. ​                        } 
  28.  
  29. ​                    ] 
  30.  
  31. ​                } 
  32.  
  33. ​            } 
  34.  
  35. ​        } 
  36.  
  37. ​    } 
  38.  

(3)module屬性對象包含HAP包的配置信息,其常用子屬性對象及含義說明如下:

1)mainAbility: 表示HAP包的入口ability名稱。

2)package: 表示HAP的包結(jié)構(gòu)名稱,在應(yīng)用內(nèi)應(yīng)保證唯一性。反向域名格式。

 3)name: 表示HAP的類名。采用反向域名方式表示,前綴需要與同級的package標(biāo)簽指定的包名一致,也可采用“.”開頭的命名方式。字符串長度不超過255字節(jié)。

4)description: 表示HAP的描述信息。字符串長度不超過255字節(jié)。如果字符串超出長度或者需要支持多語言,可以采用資源索引的方式添加描述內(nèi)容。

5)supportedModes: 表示應(yīng)用支持的運(yùn)行模式。當(dāng)前只定義了駕駛模式(drive)。該標(biāo)簽僅適用于車機(jī)。

6)deviceType: 表示允許Ability運(yùn)行的設(shè)備類型。系統(tǒng)預(yù)定義的設(shè)備類型包括:phone(手機(jī))、tablet(平板)、tv(智慧屏)、car(車機(jī))、wearable(智能穿戴)、liteWearable(輕量級智能穿戴)等。

7)distro: 表示HAP發(fā)布的具體描述。

deliveryWithInstall:表示當(dāng)前HAP是否支持隨應(yīng)用安裝。true:支持隨應(yīng)用安裝。false:不支持隨應(yīng)用安裝(可能導(dǎo)致最終應(yīng)用上架應(yīng)用市場異常)。

 moduleName: 表示當(dāng)前HAP的名稱。

moduleType: 表示當(dāng)前HAP的類型,包括兩種類型:entry和feature。

8)abilities: 表示當(dāng)前模塊內(nèi)的所有Ability的配置信息。采用對象數(shù)組格式,其中每個(gè)元素表示一個(gè)Ability對象。其內(nèi)部子屬性說明如下:

name:表示Ability名稱。取值可采用反向域名方式表示,由包名和類名組成。

description:表示對Ability的描述。取值可以是描述性內(nèi)容,也可以是對描述性內(nèi)容的資源索引,以支持多語言。

icon:表示Ability圖標(biāo)資源文件的索引。如果在該Ability的“skills”屬性中,“actions”的取值包含 “action.system.home”,“entities”取值中包含“entity.system.home”,則該Ability的icon將同時(shí)作為應(yīng)用的icon。如果存在多個(gè)符合條件的Ability,則取位置靠前的Ability的icon作為應(yīng)用的icon。

label:表示Ability對用戶顯示的名稱。取值可以是Ability名稱,也可以是對該名稱的資源索引,以支持多語言。如果在該Ability的“skills”屬性中,“actions”的取值包含 “action.system.home”,“entities”取值中包含“entity.system.home”,則該Ability的label將同時(shí)作為應(yīng)用的label。如果存在多個(gè)符合條件的Ability,則取位置靠前的Ability的label作為應(yīng)用的label。

uri:表示Ability的統(tǒng)一資源標(biāo)識符。格式為:

HarmonyOS應(yīng)用配置文件config.json-鴻蒙HarmonyOS技術(shù)社區(qū)

launchType:表示Ability的啟動(dòng)模式,支持“standard”、“singleMission”和“singleton”三種模式:

standard:表示該Ability可以有多實(shí)例。“standard”模式適用于大多數(shù)應(yīng)用場景。

singleMission:表示此Ability在每個(gè)任務(wù)棧中只能有一個(gè)實(shí)例。

singleton:表示該Ability在所有任務(wù)棧中僅可以有一個(gè)實(shí)例。例如,具有全局唯一性的呼叫來電界面即采用“singleton”模式。

shortcuts: (可缺省)表示應(yīng)用的快捷方式信息。采用對象數(shù)組格式,其中的每個(gè)元素表示一個(gè)快捷方式對象。

visible:表示Ability是否可以被其他應(yīng)用調(diào)用。

true:可以被其他應(yīng)用調(diào)用。

false:不能被其他應(yīng)用調(diào)用。

permissions:表示其他應(yīng)用的Ability調(diào)用此Ability時(shí)需要申請的權(quán)限。通常采用反向域名格式,取值可以是系統(tǒng)預(yù)定義的權(quán)限,也可以是開發(fā)者自定義的權(quán)限。如果是自定義權(quán)限,取值必須與“defPermissions”標(biāo)簽中定義的某個(gè)權(quán)限的“name”標(biāo)簽值一致。

skills:表示Ability能夠接收的Intent的特征。

deviceCapability:表示Ability運(yùn)行時(shí)要求設(shè)備具有的能力,采用字符串?dāng)?shù)組的格式表示。

metaData:表示Ability的元信息。

調(diào)用Ability時(shí)調(diào)用參數(shù)的元信息,例如:參數(shù)個(gè)數(shù)和類型。

Ability執(zhí)行完畢返回值的元信息,例如:返回值個(gè)數(shù)和類型。

type:表示Ability的類型。取值范圍如下:

page:表示基于Page模板開發(fā)的FA,用于提供與用戶交互的能力。

service:表示基于Service模板開發(fā)的PA,用于提供后臺運(yùn)行任務(wù)的能力。

data:表示基于Data模板開發(fā)的PA,用于對外部提供統(tǒng)一的數(shù)據(jù)訪問抽象。

CA:表示支持其他應(yīng)用以窗口方式調(diào)起該Ability。

orientation:示該Ability的顯示模式。該標(biāo)簽僅適用于page類型的Ability。取值范圍如下:

unspecified:由系統(tǒng)自動(dòng)判斷顯示方向。

landscape:橫屏模式。

portrait:豎屏模式。

followRecent:跟隨棧中最近的應(yīng)用。

backgroundModes:表示后臺服務(wù)的類型,可以為一個(gè)服務(wù)配置多個(gè)后臺服務(wù)類型。該標(biāo)簽僅適用于service類型的Ability。取值范圍如下:

dataTransfer:通過網(wǎng)絡(luò)/對端設(shè)備進(jìn)行數(shù)據(jù)下載、備份、分享、傳輸?shù)葮I(yè)務(wù)。

audioPlayback:音頻輸出業(yè)務(wù)。

audioRecording:音頻輸入業(yè)務(wù)。

pictureInPicture:畫中畫、小窗口播放視頻業(yè)務(wù)。

voip:音視頻電話、VOIP業(yè)務(wù)。

location:定位、導(dǎo)航業(yè)務(wù)。

bluetoothInteraction:藍(lán)牙掃描、連接、傳輸業(yè)務(wù)。

wifiInteraction:WLAN掃描、連接、傳輸業(yè)務(wù)。

screenFetch:錄屏、截屏業(yè)務(wù)。

multiDeviceConnection:多設(shè)備互聯(lián)業(yè)務(wù)。

readPermission:表示讀取Ability的數(shù)據(jù)所需的權(quán)限。該標(biāo)簽僅適用于data類型的Ability。取值為長度不超過255字節(jié)的字符串。

writePermission:表示向Ability寫數(shù)據(jù)所需的權(quán)限。該標(biāo)簽僅適用于data類型的Ability。取值為長度不超過255字節(jié)的字符串。

mission:表示Ability指定的任務(wù)棧。該標(biāo)簽僅適用于page類型的Ability。默認(rèn)情況下應(yīng)用中所有Ability同屬一個(gè)任務(wù)棧。

targetAbility:表示當(dāng)前Ability重用的目標(biāo)Ability。該標(biāo)簽僅適用于page類型的Ability。如果配置了targetAbility屬性,則當(dāng)前Ability(即別名Ability)的屬性中僅name、icon、label、visible、permissions、skills生效,其它屬性均沿用targetAbility中的屬性值。目標(biāo)Ability必須與別名Ability在同一應(yīng)用中,且在配置文件中目標(biāo)Ability必須在別名之前進(jìn)行聲明。

multiUserShared:表示Ability是否支持多用戶狀態(tài)進(jìn)行共享,該標(biāo)簽僅適用于data類型的Ability。配置為“true”時(shí),表示在多用戶下只有一份存儲數(shù)據(jù)。需要注意的是,該屬性會使visible屬性失效。

supportPipMode:表示Ability是否支持用戶進(jìn)入PIP模式(用于在頁面最上層懸浮小窗口,俗稱“畫中畫”,常見于視頻播放等場景)。該標(biāo)簽僅適用于page類型的Ability。

formsEnabled:表示Ability是否支持卡片(forms)功能。該標(biāo)簽僅適用于page類型的Ability。

true:支持卡片能力。

false:不支持卡片能力。

resizeable:表示Ability是否支持多窗口特性。

forms:表示服務(wù)卡片的屬性。該標(biāo)簽僅當(dāng)“formsEnabled”為“true”時(shí),才能生效。該屬性有一系列子屬性詳細(xì)設(shè)置卡片的類型、主題樣式、外觀規(guī)格等;

9)js: (可缺省)表示基于JS UI框架開發(fā)的JS模塊集合,其中的每個(gè)元素代表一個(gè)JS模塊的信息。

10)reqPermissions: 表示應(yīng)用運(yùn)行時(shí)向系統(tǒng)申請的權(quán)限。

11)defPermissions: 表示應(yīng)用定義的權(quán)限。應(yīng)用調(diào)用者必須申請這些權(quán)限,才能正常調(diào)用該應(yīng)用。

12)colorMode:表示應(yīng)用自身的顏色模式。

dark:表示按照深色模式選取資源。

light:表示按照淺色模式選取資源。

auto:表示跟隨系統(tǒng)的顏色模式值選取資源。

module屬性對象定義示例如下所示:

  1. "module": { 
  2.  
  3. ​    "mainAbility""MainAbility"
  4.  
  5. ​    "package""com.example.myapplication.entry",  
  6.  
  7. ​    "name"".MyOHOSAbilityPackage",  
  8.  
  9. ​    "description""$string:description_application",  
  10.  
  11. ​    "supportedModes": [ 
  12.  
  13. ​        "drive" 
  14.  
  15. ​    ],  
  16.  
  17. ​    "deviceType": [ 
  18.  
  19. ​        "car" 
  20.  
  21. ​    ],  
  22.  
  23. ​    "distro": { 
  24.  
  25. ​        "deliveryWithInstall"true,  
  26.  
  27. ​        "moduleName""ohos_entry",  
  28.  
  29. ​        "moduleType""entry" 
  30.  
  31. ​    },  
  32.  
  33. ​    "abilities": [ 
  34.  
  35. ​        ... 
  36.  
  37. ​    ],  
  38.  
  39. ​    "shortcuts": [ 
  40.  
  41. ​        ... 
  42.  
  43. ​    ], 
  44.  
  45. ​    "js": [ 
  46.  
  47. ​        ... 
  48.  
  49. ​    ],  
  50.  
  51. ​    "reqPermissions": [ 
  52.  
  53. ​        ... 
  54.  
  55. ​    ],  
  56.  
  57. ​    "defPermissions": [ 
  58.  
  59. ​        ... 
  60.  
  61. ​    ], 
  62.  
  63. ​    "colorMode""light" 
  64.  

想了解更多內(nèi)容,請?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2023-04-07 09:20:55

2015-06-17 14:18:50

ASP.NET

2021-07-13 05:47:40

GroovyJSON軟件開發(fā)

2010-02-24 14:10:54

WCF修改App.co

2009-07-29 14:23:08

ASP.NET配置文件

2024-04-25 12:35:14

JSONC#開發(fā)

2011-04-19 14:35:58

ASP.NETWeb.config

2023-08-07 15:18:29

游戲開發(fā)鴻蒙Arkts

2010-02-23 14:17:20

WCF配置文件

2010-03-18 18:17:01

Python 配置文件

2011-09-08 16:07:13

Widget配置文件

2009-09-14 09:17:43

.settings配置

2022-01-11 17:23:12

配置Node.jsNode

2022-12-26 11:24:28

鴻蒙Stage模型

2011-01-13 16:27:26

Linux配置文件

2022-05-20 07:36:02

LiveTerm工具

2011-01-19 14:00:21

2023-08-04 08:19:02

2010-12-28 16:35:32

Outlook 配置文

2010-12-27 14:59:31

Outlook 配置文
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號