鸿蒙学习-module.json5配置文件

官网文档参考:文档中心

位于entry->src->main-module.json5

一、基础属性

复制代码
{
  "module": {
    /*标识当前Module的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用中要唯一,仅支持英文字符。不可缺省*/
    "name": "entry",
    /*标识当前Module的类型。类型有两种,分别:
    -entry:应用的主模块。
    -feature:应用的动态特性模块。

    不可缺省
    */
    "type": "entry",
    /*标识当前Module所对应的代码路径,标签值为字符串(最长127字节)。 该标签值可缺省,缺省值为空*/
    "srcEntry": "",
    /*标识当前Module的描述信息,标签值是字符串类型(最长255字节)或对描述内容的字符串资源索引,可缺省,缺省值为空*/
    "description": "$string:module_desc",
    /*标识当前Module的入口UIAbility名称或者ExtensionAbility名称。标签最大长度为255。字符串,可缺省,缺省值为空*/
    "mainElement": "EntryAbility",
    /*标识当前Module可以运行在哪类设备上,标签值采用字符串数组的表示。字符串数组,不可缺省*/
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    /*标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。
    -true:主动安装时安装。
    -false:主动安装时不安装

      布尔值,不可缺省
    */
    "deliveryWithInstall": true,
    /*标识当前Module是否支持免安装特性
    -true:表示支持免安装特性,且符合免安装约束。
    -false:表示不支持免安装特性

    说明:
    - 当应用的entry类型Module的该字段配置为true时,该应用的feature类型的该字段也需要配置为true。
    -当应用的entry类型Module的该字段配置为false时,该应用的feature类型的该字段根据业务需求配置true或false

    布尔值,不可缺省
    */
    "installationFree": false,
    /*标识当前Module的profile资源,用于列举每个页面信息。该标签最大长度为255个字节。
        字符串,在有UIAbility的场景下,该标签不可缺省*/
    "pages": "$profile:main_pages",
    /*标识当前Module中UIAbility的配置信息,标签值为数组类型,只对当前UIAbility生效。  对象,可缺省,缺省值为空*/
    "abilities": [
      {
        /*标识当前UIAbility组件的名称,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127字节),仅支持英文字符。字符串,不可缺省*/
        "name": "EntryAbility",
        /*该标签标识入口UIAbility的代码路径,标签值为字符串(最长127字节)*/
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        /*标识当前UIAbility组件的启动模式,可选标签值:
        - multiton:多实例模式,每次启动创建一个新的实例。
        -singleton:单实例模式,仅第一次启动创建新实例。
        -specified:指定实例模式,运行时由开发者决定是否创建新实例。

        字符串,可缺省,该标签缺省为 "singleton"。
        */
        "launchType": "singleton",
        /*标识当前UIAbility组件的描述信息,标签值是字符串类型(最长255字节)或对描述内容的资源索引。字符串,可缺省,缺省值为空*/
        "description": "$string:EntryAbility_desc",
        /*标识当前UIAbility组件的图标,标签值为图标资源文件的索引。字符串,该标签可缺省,缺省值为空。如果UIAbility被配置为MainElement,该标签必须配置*/
        "icon": "$media:app_icon",
        /*标识当前UIAbility组件*/
        "label": "$string:EntryAbility_label",
        /*标识当前UIAbility组件启动页面图标资源文件的索引。取值示例:$media:icon。该标签最大字节长度为255。字符串,不可缺省*/
        "startWindowIcon": "$media:icon",
        /*标识当前UIAbility组件启动页面背景颜色资源文件的索引。取值示例:$color:red。该标签最大字节长度为255。该标签最大字节长度 255。字符串,不可缺省。*/
        "startWindowBackground": "$color:start_window_background",
        /*标识当前UIAbility组件是否可以被其他应用调用。
        -true:表示可以被其他应用调用。
        -false:表示不可以被其他应用调用。

        布尔值,缺省值为false*/
        "exported": true,
        /*标识当前UIAbility组件或ExtensionAbility组件能够接收的Want特征集,为数组格式。配置规则:
        - 对于Entry类型的HAP,应用可以配置多个具有入口能力的skills标签(即配置了ohos.want.action.home 和 entity.system.home)。
        - 对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。

        对象数组,可缺省,缺省值为空
        */
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ],
    /*标识当前应用运行时需向系统申请的权限集合。对象,该标签可缺省,缺省值为空*/
    'requestPermissions': [
      {
        "name": "ohos.permission.INTERNET",
        "reason": "$string:dependency_reason",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "inuse"
        }
      }
    ]
  }
}

二、其他属性

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|------|---------------------------------------|
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| process | 标识当前Module的进程名,标签值为字符串类型(最长为31个字节)。如果在HAP标签下配置了process,该应用的所有UIAbility、DataShareExtensionAbility、ServiceExtensionAbility都运行在该进程中。 说明: - 仅支持系统应用配置,三方应用配置不生效 | 字符串 | 可缺省,缺省为app.json5文件下app标签下的bundleName。 |
| vitualMachine | 标识当前Module运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心。该标签值为字符串。如果目标虚拟机类型为ArkTS引擎,则其值为"ark+版本号"。 | 字符串 | 该标签由IDE构建HAP的时候自动插入 |
| pages | 标识当前Module的profile资源,用于列举每个页面信息。该标签最大长度为255个字节。 | 字符串 | 在有UIAbility的场景下,该标签不可缺省。 |
| metadata | 标识当前Module的自定义元信息,标签值为数组类型,只对当前Module、UIAbility、ExtensionAbility生效。 | 对象数组 | 该标签可缺省,缺省值为空。 |
| abilities | 标识当前Module中UIAbility的配置信息,标签值为数组类型,只对当前UIAbility生效。 | 对象 | 该标签可缺省,缺省值为空。 |
| extensionAbilities | 标识当前Module中ExtensionAbility的配置信息,标签值为数组类型,只对当前ExtensionAbility生效。 | 对象 | 该标签可缺省,缺省值为空。 |
| requestPermission | 标识当前应用运行时需向系统申请的权限集合。 | 对象 | 可缺省,缺省值为空 |
| testRunner | 标识当前Module用于支持对测试框架的配置。 | 对象 | 可缺省,缺省值为空。 |
| | | | |

相关推荐
爱笑的眼睛1113 小时前
HarmonyOS 应用开发深度解析:基于声明式UI的现代化状态管理实践
华为·harmonyos
前端世界13 小时前
HarmonyOS 实战:如何用数据压缩和解压让应用更快更省
华为·harmonyos
安卓开发者14 小时前
鸿蒙Next Web组件详解:属性设置与事件处理实战
前端·华为·harmonyos
安卓开发者14 小时前
鸿蒙NEXT Web组件与JavaScript交互:打通原生与前端的桥梁
前端·javascript·harmonyos
森之鸟14 小时前
鸿蒙审核问题——折叠屏展开态切换时,输入框内容丢失
华为·harmonyos
不爱吃糖的程序媛14 小时前
表格底部增加一行合计功能的实现
华为·harmonyos
猫林老师18 小时前
HarmonyOS 5分布式数据管理初探:实现跨设备数据同步
分布式·harmonyos
爱笑的眼睛1121 小时前
HarmonyOS 应用开发深度解析:ArkUI 声明式 UI 与现代化状态管理最佳实践
华为·harmonyos
被开发耽误的大厨1 天前
鸿蒙项目篇-22-项目功能结构说明-写子页面和导航页面
android·华为·harmonyos·鸿蒙
祥睿夫子2 天前
鸿蒙 ArkTS 类继承与多态实战:从语法到员工工资计算全指南
harmonyos