建议收藏!HarmonyOS 鸿蒙Next应用配置文件概述(Stage 模型)

建议收藏!HarmonyOS 鸿蒙Next应用配置文件概述(Stage 模型) 一. 应用配置文件

每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。

在基于 Stage 模型开发的应用项目代码下,都存在一个 app.json5 及一个或多个 module.json5 这两种配置文件。

app.json5 主要包含以下内容:

  • 应用的全局配置信息,包含应用的包名、开发厂商、版本号等基本信息。
  • 特定设备类型的配置信息。

module.json5 主要包含以下内容:

  • Module 的基本配置信息,例如 Module 名称、类型、描述、支持的设备类型等基本信息。
  • 应用组件信息,包含 UIAbility 组件和 ExtensionAbility 组件的描述信息。
  • 应用运行过程中所需的权限信息。

二. app.json5 配置文件

{
  "app": {
    "bundleName": "com.application.myapplication",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name",
    "description": "$string:description_application",
    "minAPIVersion": 9,
    "targetAPIVersion": 9,
    "apiReleaseType": "Release",
    "debug": false,
    "car": {
      "minAPIVersion": 8
    }
  }
}

app.json5 配置文件包含以下标签。

属性名称 含义 数据类型 是否可缺省
bundleName 标识应用的 Bundle 名称,用于标识应用的唯一性。 字符串 不可缺省
vendor 标识对应用开发厂商的描述。 字符串 可缺省,缺省为空。
versionCode 标识应用的版本号,该标签值为 32 位非负整数。 数值 不可缺省
versionName 标识应用版本号的文字描述,用于向用户展示。 字符串 不可缺省
minAPIVersion 标识应用运行需要的 SDK 的 API 最小版本。 数值 由 build-profile.json5 中的 compatibleSdkVersion 生成。
targetAPIVersion 标识应用运行需要的 API 目标版本。 数值 由 build-profile.json5 中的 compileSdkVersion 生成。
apiReleaseType 标识应用运行需要的 API 目标版本的类型,采用字符串类型表示。 字符串 由 IDE 生成并覆盖。
debug 标识应用是否可调试,该标签由 IDE 编译构建时生成。 布尔值 该标签可以缺省,缺省为 false。
car 标识对 car 设备做的特殊配置,可以配置的属性字段有上文提到的:minAPIVersion、distributedNotificationEnabled。 对象 该标签可缺省,缺省时 car 设备使用 app.json5 公共区域配置的属性值。

三. 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 配置文件包含以下标签。

属性名称 含义 数据类型 是否可缺省
name 标识当前 Module 的名称,标签值采用字符串表示(最大长度 31 个字节),该名称在整个应用要唯一,仅支持英文字符。 字符串 不可缺省
type 标识当前 Module 的类型。类型有两种,分别:entry:应用的主模块;feature:应用的动态特性模块。 字符串 不可缺省
description 标识当前 Module 的描述信息,标签值是字符串类型(最长 255 字节)或对描述内容的字符串资源索引。 字符串 可缺省,缺省值为空。
mainElement 标识当前 Module 的入口 UIAbility 名称或者 ExtensionAbility 名称。标签最大字节长度为 255。 字符串 可缺省,缺省值为空。
deviceTypes 标识当前 Module 可以运行在哪类设备上,标签值采用字符串数组的表示。 字符串数组 不可缺省,可以为空值。
deliveryWithInstall 标识当前 Module 是否在用户主动安装的时候安装,表示该 Module 对应的 HAP 是否跟随应用一起安装。 布尔值 不可缺省
installationFree 标识当前 Module 是否支持免安装特性。 布尔值 不可缺省
virtualMachine 标识当前 Module 运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心。 字符串 由 IDE 构建 HAP 的时候自动插入。
pages 标识当前 Module 的 profile 资源,用于列举每个页面信息。该标签最大长度为 255 个字节。 字符串 在有 UIAbility 的场景下,该标签不可缺省。
metadata 标识当前 Module 的自定义元信息,标签值为数组类型,只对当前 Module、UIAbility、ExtensionAbility 生效。 对象数组 可缺省,缺省值为空。
abilities 标识当前 Module 中 UIAbility 的配置信息,标签值为数组类型,只对当前 UIAbility 生效。 对象 可缺省,缺省值为空。
requestPermissions 标识当前应用运行时需向系统申请的权限集合。 对象 可缺省,缺省值为空。

更多关于建议收藏!HarmonyOS 鸿蒙Next应用配置文件概述(Stage 模型)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于建议收藏!HarmonyOS 鸿蒙Next应用配置文件概述(Stage 模型)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS鸿蒙Next的Stage模型配置文件是应用开发的核心,主要包括app.json5module.json5等文件。app.json5用于定义应用全局配置,如应用名称、版本号、权限等;module.json5则配置模块信息,如入口页面、资源路径等。这些文件通过JSON格式定义,确保应用在不同设备上的兼容性和性能优化。合理配置这些文件,能够提升应用的开发效率和运行稳定性。

回到顶部