建议收藏!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
更多关于建议收藏!HarmonyOS 鸿蒙Next应用配置文件概述(Stage 模型)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS鸿蒙Next的Stage模型配置文件是应用开发的核心,主要包括app.json5
、module.json5
等文件。app.json5
用于定义应用全局配置,如应用名称、版本号、权限等;module.json5
则配置模块信息,如入口页面、资源路径等。这些文件通过JSON格式定义,确保应用在不同设备上的兼容性和性能优化。合理配置这些文件,能够提升应用的开发效率和运行稳定性。