介绍
为使应用能够正常使用 UIAbility,需要在 module.json5 配置文件的 abilities 标签中声明 UIAbility 的名称、入口、标签等相关信息。
配置文件例子
{
"module": {
"name": "entry",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"phone"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"abilities": [
.....
],
"extensionAbilities": [
......
]
.....
}
}
module标签
子标签解释
name
标识当前Module的名称,确保该名称在整个应用中唯一。命名规则如下 :
由字母、数字和下划线组成,且必须以字母开头。
最大长度31字节。
type
标识当前Module的类型。支持的取值如下:
entry:应用的主模块。
feature:应用的动态特性模块。
har:静态共享包模块。
shared:动态共享包模块。
description
标识当前Module的描述信息
mainElement
标识当前Module的入口UIAbility名称或者ExtensionAbility名称
deviceTypes
标识当前Module可以运行在哪类设备上。
- 手机:phone
- 平板:tablet
- 2in1设备:2in1,融合了屏幕触控和键鼠操作的二合一设备。
- 智慧屏:tv
- 智能手表:wearable 系统能力较丰富的手表,具备电话功能。
- 车机:car
deliveryWithInstall
标识当前Module是否在用户主动安装的时候安装,即该Module对应的HAP是否跟随应用一起安装。
true:主动安装时安装。
false:主动安装时不安装。
installationFree
标识当前Module是否支持免安装特性。
true:表示支持免安装特性,且符合免安装约束。
false:表示不支持免安装特性。
说明:
当 bundleType 为 元服务 时,该字段需要配置为true。反之,该字段需要配置为 false。
pages
标识当前Module的profile资源,用于列举每个页面信息
该标签是一个profile文件资源,指下面文件:
src/main/resources/base/profile/main_pages.json
解释详见链接
abilities标签
abilities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
子标签说明
name
标识当前UIAbility组件的名称,确保该名称在整个应用中唯一
srcEntry
标识入口UIAbility的代码路径
launchType
标识当前UIAbility组件的 启动模式,该标签缺省为 singleton,支持的取值如下:
multiton:多实例模式,每次启动创建一个新实例。
singleton:单实例模式,仅第一次启动创建新实例。
specified:指定实例模式,运行时由开发者决定是否创建新实例。(例如:word,每次 新建文档 时,就新打开一个word程序;多次打开同一个文档,就只打开一个word程序)
standard:multiton的曾用名,效果与多实例模式一致。
description
标识当前UIAbility组件的描述信息
icon
标识当前UIAbility组件的图标,取值为图标资源文件的索引。
如果UIAbility被配置为 MainElement,该标签必须配置。
桌面图标
该配置指定桌面图标
注意:改名字后,需要卸载应用,再安装才能看到新名字
任务图标
该配置指定任务视图中的 任务图标,如下图红框处:
label
标识当前UIAbility组件对用户显示的名称,要求采用该名称的资源索引,以支持 多语言
如果UIAbility被配置为MainElement,该标签必须配置。
桌面应用名字
该配置指定桌面图标的名字
注意:改名字后,需要卸载应用,再安装才能看到新名字
如下图:
任务名字
该配置指定任务视图中的 任务名字,如下图红框处:
文件路径
该配置与语言相关,具体如下:
中文指下面文件:
src/main/resources/zh_CN/element/string.json
英文指下面文件:
src/main/resources/en_US/element/string.json
未匹配语言指下面文件:
src/main/resources/base/element/string.json
startWindowIcon
当前UIAbility组件启动页面中,显示的图标,如下图:
startWindowBackground
当前UIAbility组件启动页面中,背景颜色
颜色必须定义在 color.json 文件中
如下图,红框启动图标以外的部分:
exported
标识当前UIAbility组件是否可以被其他应用调用。
true:表示可以被其他应用调用。
false:表示不可以被其他应用调用,包括无法被aa工具命令拉起应用。
缺省值为false
例子
{
"module": {
// ...
"abilities": [
{
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"description": "$string:EntryAbility_desc",
"icon": "$media:layered_image",
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:startIcon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
},
],
}
}



