{
"module": {
"name": "entry", --标识当前Module的名称,确保该名称在整个应用中唯一
"type": "entry", --标识当前Module的类型。支持的取值如下: entry:应用的主模块。 feature:应用的动态特性模块。 har:静态共享包模块。 shared:动态共享包模块。
"description": "$string:module_desc", --标识当前Module的描述信息
"mainElement": "EntryAbility", --标识当前Module的入口UIAbility名称或者ExtensionAbility名称
"deviceTypes": [ --标识当前Module可以运行在哪类设备上
"tv",
"tablet"
],
"deliveryWithInstall": true, --标识当前Module是否在用户主动安装的时候安装,即该Module对应的HAP是否跟随应用一起安装。 true:主动安装时安装。 false:主动安装时不安装。
"installationFree": false, --标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。当bundleType为元服务时,该字段需要配置为true。反之,该字段需要配置为false。
"pages": "$profile:main_pages", --标识当前Module的profile资源,用于列举每个页面信息
"virtualMachine": "ark", --标识当前Module运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心。如果目标虚拟机类型为ArkTS引擎,则其值为“ark+版本号”
"metadata": [ --标识当前Module的自定义元信息,可通过资源引用的方式配置distributionFilter、shortcuts等信息。只对当前Module、UIAbility、ExtensionAbility生效
{
"name": "string", --标识数据项的名称
"value": "string", --标识数据项的值
"resource": "$profile:distributionFilter_config" --标识定义用户自定义数据格式
}
],
"abilities": [ --标识当前Module中UIAbility的配置信息,只对当前UIAbility生效
{
"name": "EntryAbility", --标识当前UIAbility组件的名称,确保该名称在整个应用中唯一
"srcEntry": "./ets/entryability/EntryAbility.ts", -- 标识入口UIAbility的代码路径
"description": "$string:EntryAbility_desc",
"icon": "$media:icon", --标识当前UIAbility组件的图标
"label": "$string:EntryAbility_label", --标识当前UIAbility组件对用户显示的名称
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"exported": true, --标识当前UIAbility组件是否可以被其他应用调用。 true:表示可以被其他应用调用。false:表示不可以被其他应用调用,包括无法被aa工具命令拉起应用
"skills": [ --标识当前UIAbility组件或ExtensionAbility组件能够接收的Want特征集,为数组格式
{
"entities": [
"entity.system.home"
],
"actions": [
"ohos.want.action.home"
]
}
]
}
],
"extensionAbilities": [{ --标识当前Module中ExtensionAbility的配置信息,只对当前ExtensionAbility生效
"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"
}],
}],
"requestPermissions": [ --标识当前应用运行时需向系统申请的权限集合
{
"name": "ohos.abilitydemo.permission.PROVIDER",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"FormAbility"
],
"when": "inuse"
}
}
]
},
"targetModuleName": "feature", --标识当前包所指定的目标module,确保该名称在整个应用中唯一
"targetPriority": 50, --标识当前Module的优先级
"isolationMode": "nonisolationFirst" --标识当前Module的多进程配置项。支持的取值如下:- nonisolationFirst:优先在非独立进程中运行。- isolationFirst:优先在独立进程中运行。- isolationOnly:只在独立进程中运行。- nonisolationOnly:只在非独立进程中运行。
}
skills
配置规则:
- 对于Entry类型的HAP,应用可以配置多个具有入口能力的skills标签
(即配置了ohos.want.action.home和entity.system.home)。
- 对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。
摘取自:module.json5配置文件-应用配置文件(Stage模型)-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)