久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學習站 | 隨時隨地免費學

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學習站小程序
        隨時隨地免費學習課程

        當前位置:首頁  >  技術(shù)干貨  > 千鋒教育鴻蒙(HarmonyOS)開發(fā)教程:module.json5配置文件

        千鋒教育鴻蒙(HarmonyOS)開發(fā)教程:module.json5配置文件

        來源:千鋒教育
        發(fā)布人:千鋒
        時間: 2023-11-18 15:53:22 1700294002

        先通過一個示例,整體認識一下module.json5配置文件。

        {
        "module": {
        "name": "entry",
        "type": "entry",
        "description": "$string:module_desc",
        "mainElement": "EntryAbility",
        "deviceTypes": [
        "default",
        "tablet"
        ],
        "deliveryWithInstall": true,
        "installationFree": false,
        "pages": "$profile:main_pages",
        "virtualMachine": "ark",
        "metadata": [
        {
        "name": "string",
        "value": "string",
        "resource": "$profile:distributionFilter_config"
        }
        ],
        "abilities": [
        {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
        {
        "entities": [
        "entity.system.home"
        ],
        "actions": [
        "ohos.want.action.home"
        ]
        }
        ]
        }
        ],
        "requestPermissions": [
        {
        "name": "ohos.abilitydemo.permission.PROVIDER",
        "reason": "$string:reason",
        "usedScene": {
        "abilities": [
        "FormAbility"
        ],
        "when": "inuse"
        }
        }
        ]
        }
        }

         module.json5配置文件包含以下標簽。

        表1 module.json5配置文件配置標簽說明

        QQ截圖20231118153921

        deviceTypes標簽

        表2 deviceType標簽配置說明

        微信截圖_20231118153956

        deviceTypes示例:

        {
        "module": {
        "name": "myHapName",
        "type": "feature",
        "deviceTypes" : [
        "tablet"
        ]
        }
        }

         pages標簽

        該標簽是一個profile文件資源,用于指定描述頁面信息的配置文件。

        {
        "module": {
        // ...
        "pages": "$profile:main_pages", // 通過profile下的資源文件配置
        }
        }

         在開發(fā)視圖的resources/base/profile下面定義配置文件main_pages.json,其中文件名(main_pages)可自定義,需要和前文中pages標簽指定的信息對應,配置文件中列舉了當前應用組件中的頁面信息。

        表3 pages配置文件標簽說明

        微信截圖_20231118154128

        {
        "src": [
        "pages/index/mainPage",
        "pages/second/payment",
        "pages/third/shopping_cart",
        "pages/four/owner"
        ]
        }

         metadata標簽

        該標簽標識HAP的自定義元信息,標簽值為數(shù)組類型,包含name,value,resource三個子標簽。

        表5 metadata標簽說明

        微信截圖_20231118154214

        {
        "module": {
        "metadata": [{
        "name": "module_metadata",
        "value": "a test demo for module metadata",
        "resource": "$profile:shortcuts_config",
        }],

        "abilities": [{
        "metadata": [{
        "name": "ability_metadata",
        "value": "a test demo for ability",
        "resource": "$profile:config_file"
        },
        {
        "name": "ability_metadata_2",
        "value": "a string test",
        "resource": "$profile:config_file"
        }],
        }],

        "extensionAbilities": [{
        "metadata": [{
        "name": "extensionAbility_metadata",
        "value": "a test for extensionAbility",
        "resource": "$profile:config_file"
        },
        {
        "name": "extensionAbility_metadata_2",
        "value": "a string test",
        "resource": "$profile:config_file"
        }],
        }]
        }
        }

         abilities標簽

        abilities標簽描述UIAbility組件的配置信息,標簽值為數(shù)組類型,該標簽下的配置只對當前UIAbility生效。

        表6 abilities標簽說明

        QQ截圖20231118154350

        abilities示例:

        {
        "abilities": [{
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "launchType":"singleton",
        "description": "$string:description_main_ability",
        "icon": "$media:icon",
        "label": "Login",
        "permissions": [],
        "metadata": [],
        "exported": true,
        "continuable": true,
        "skills": [{
        "actions": ["ohos.want.action.home"],
        "entities": ["entity.system.home"],
        "uris": []
        }],
        "backgroundModes": [
        "dataTransfer",
        "audioPlayback",
        "audioRecording",
        "location",
        "bluetoothInteraction",
        "multiDeviceConnection",
        "wifiInteraction",
        "voip",
        "taskKeeping"
        ],
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:red",
        "removeMissionAfterTerminate": true,
        "orientation": " ",
        "supportWindowMode": ["fullscreen", "split", "floating"],
        "maxWindowRatio": 3.5,
        "minWindowRatio": 0.5,
        "maxWindowWidth": 2560,
        "minWindowWidth": 1400,
        "maxWindowHeight": 300,
        "minWindowHeight": 200,
        "excludeFromMissions": false
        }]
        }

         skills標簽

        該標簽標識UIAbility組件或者ExtensionAbility組件能夠接收的Want的特征。

        微信截圖_20231118154448

        微信截圖_20231118154541

        skills示例:

        {
        "abilities": [
        {
        "skills": [
        {
        "actions": [
        "ohos.want.action.home"
        ],
        "entities": [
        "entity.system.home"
        ],
        "uris": [
        {
        "scheme":"http",
        "host":"example.com",
        "port":"80",
        "path":"path",
        "type": "text/*"
        }
        ]
        }
        ]
        }
        ]
        }

         extensionAbilities標簽

        描述extensionAbilities的配置信息,標簽值為數(shù)組類型,該標簽下的配置只對當前extensionAbilities生效。

        表9 extensionAbilities標簽說明

        QQ截圖20231118154649

        extensionAbilities示例:

        {
        "extensionAbilities": [
        {
        "name": "FormName",
        "srcEntry": "./form/MyForm.ts",
        "icon": "$media:icon",
        "label" : "$string:extension_name",
        "description": "$string:form_description",
        "type": "form",
        "permissions": ["ohos.abilitydemo.permission.PROVIDER"],
        "readPermission": "",
        "writePermission": "",
        "exported": true,
        "uri":"scheme://authority/path/query",
        "skills": [{
        "actions": [],
        "entities": [],
        "uris": []
        }],
        "metadata": [
        {
        "name": "ohos.extension.form",
        "resource": "$profile:form_config",
        }
        ]
        }
        ]
        }

         requestPermissions標簽

        該標簽標識應用運行時需向系統(tǒng)申請的權(quán)限集合。

        說明

        在requestPermissions標簽中配置的權(quán)限項將在應用級別生效,即該權(quán)限適用于整個應用程序。

        如果應用需要訂閱自己發(fā)布的事件,而且應用在extensionAbilities標簽中的permissions字段中設置了訪問該應用所需要的權(quán)限,那么應用也需要在requestPermissions標簽中注冊相關(guān)權(quán)限才能收到該事件。

        微信截圖_20231118154746

        requestPermissions示例:

        {
        "module" : {
        "requestPermissions": [
        {
        "name": "ohos.abilitydemo.permission.PROVIDER",
        "reason": "$string:reason",
        "usedScene": {
        "abilities": [
        "EntryFormAbility"
        ],
        "when": "inuse"
        }
        }
        ]
        }
        }

         shortcuts標簽

        shortcuts標識應用的快捷方式信息。標簽值為數(shù)組,最多可以配置四個快捷方式。其包含四個子標簽shortcutId、label、icon、wants。

        metadata中指定shortcut信息,其中:

        name:指定shortcuts的名稱。使用ohos.ability.shortcuts作為shortcuts信息的標識。

        resource:指定shortcuts信息的資源位置。

        表11 shortcuts標簽說明

        微信截圖_20231118154831

        在/resource/base/profile/目錄下配置shortcuts_config.json配置文件。

        {
        "shortcuts": [
        {
        "shortcutId": "id_test1",
        "label": "$string:shortcut",
        "icon": "$media:aa_icon",
        "wants": [
        {
        "bundleName": "com.ohos.hello",
        "abilityName": "EntryAbility"
        }
        ]
        }
        ]
        }

         在module.json5配置文件的abilities標簽中,針對需要添加快捷方式的UIAbility進行配置metadata標簽,使shortcut配置文件對該UIAbility生效。

        {
        "module": {
        // ...
        "abilities": [
        {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        // ...
        "skills": [
        {
        "entities": [
        "entity.system.home"
        ],
        "actions": [
        "ohos.want.action.home"
        ]
        }
        ],
        "metadata": [
        {
        "name": "ohos.ability.shortcuts",
        "resource": "$profile:shortcuts_config"
        }
        ]
        }
        ]
        }
        }

         distributionFilter標簽

        該標簽下的子標簽均為可選字段,用于定義HAP對應的細分設備規(guī)格的分發(fā)策略,以便應用市場在云端分發(fā)HAP時做精準匹配。該標簽需要配置在/resource/profile資源目錄下;在進行分發(fā)時,通過deviceType與下表屬性的匹配關(guān)系,唯一確定一個用于分發(fā)到設備的HAP。

        表12 distributionFilter標簽說明

        微信截圖_20231118154940

        微信截圖_20231118155007

        微信截圖_20231118155024

        微信截圖_20231118155042

        在開發(fā)視圖的resources/base/profile下面定義配置文件distro_filter_config.json,文件名可以自定義。

        {
        "distributionFilter": {
        "screenShape": {
        "policy": "include",
        "value": [
        "circle",
        "rect"
        ]
        },
        "screenWindow": {
        "policy": "include",
        "value": [
        "454*454",
        "466*466"
        ]
        },
        "screenDensity": {
        "policy": "exclude",
        "value": [
        "ldpi",
        "xldpi"
        ]
        },
        "countryCode": { // 支持中國和香港地區(qū)分發(fā)
        "policy": "include",
        "value": [
        "CN",
        "HK"
        ]
        }
        }
        }

         在module.json5配置文件的module標簽中定義metadata信息。

        {
        "module": {
        // ...
        "metadata": [
        {
        "name": "ohos.module.distro",
        "resource": "$profile:distro_filter_config",
        }
        ]
        }
        }

         testRunner標簽

        此標簽用于支持對測試框架的配置。

        表17 testRunner標簽說明

        微信截圖_20231118155151

        testRunner標簽示例:

        {
        "module": {
        // ...
        "testRunner": {
        "name": "myTestRunnerName",
        "srcPath": "etc/test/TestRunner.ts"
        }
        }
        }

         

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學 138****2860 剛剛成功領(lǐng)取
        王同學 131****2015 剛剛成功領(lǐng)取
        張同學 133****4652 剛剛成功領(lǐng)取
        李同學 135****8607 剛剛成功領(lǐng)取
        楊同學 132****5667 剛剛成功領(lǐng)取
        岳同學 134****6652 剛剛成功領(lǐng)取
        梁同學 157****2950 剛剛成功領(lǐng)取
        劉同學 189****1015 剛剛成功領(lǐng)取
        張同學 155****4678 剛剛成功領(lǐng)取
        鄒同學 139****2907 剛剛成功領(lǐng)取
        董同學 138****2867 剛剛成功領(lǐng)取
        周同學 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        什么是云管理平臺

        什么是云管理平臺?云管理平臺(Cloud Management Platform,CMP)是由Gartner提出的企業(yè)云戰(zhàn)略中的一種產(chǎn)品形態(tài),是提供對公有云、私有云和混合...詳情>>

        2023-12-04 11:10:46
        Docker的核心底層技術(shù)有哪些

        Docker的核心底層技術(shù)有哪些?Docker可以運行在64位Linux發(fā)行版以及蘋果和微軟系統(tǒng)上,但后兩者只能使用虛擬機作為宿主機。所有的可運行的容器...詳情>>

        2023-12-04 06:27:25
        什么是包過濾技術(shù)

        什么是包過濾技術(shù)?包過濾(Packet Filtering)技術(shù)是根據(jù)流經(jīng)防火墻的數(shù)據(jù)包的特征,依據(jù)預先定義好的規(guī)則,決定是否允許數(shù)據(jù)包通過的技術(shù)。它對...詳情>>

        2023-12-04 03:40:45
        什么是網(wǎng)絡安全掃描技術(shù)

        什么是網(wǎng)絡安全掃描技術(shù)?物聯(lián)網(wǎng)的網(wǎng)絡安全掃描技術(shù)是網(wǎng)絡安全領(lǐng)域的重要技術(shù)之一,是一種遠程檢測目標網(wǎng)絡或本地主機安全性脆弱點的技術(shù),是為...詳情>>

        2023-12-04 03:07:25
        IaaS的優(yōu)勢

        IaaS的優(yōu)勢。與在本地計算中心部署資源相比,IaaS具有強大的敏捷性和高度的可擴展性。企業(yè)在內(nèi)部部署一個新的虛擬機往往需要幾天甚至一周以上的...詳情>>

        2023-12-04 02:17:25
        汨罗市| 通许县| 陵川县| 延边| 耿马| 南岸区| 湛江市| 抚州市| 正镶白旗| 连云港市| 承德市| 宜川县| 德令哈市| 新乡县| 仙居县| 武义县| 延川县| 方正县| 青川县| 霍州市| 桐柏县| 得荣县| 铁岭市| 漳浦县| 津南区| 尤溪县| 莆田市| 太仓市| 西吉县| 赫章县| 桐城市| 西青区| 永福县| 乐安县| 铅山县| 奉新县| 龙陵县| 沙雅县| 福泉市| 波密县| 南丰县|