Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d053f561
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d053f561
编写于
4月 06, 2023
作者:
X
xsz233
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix quick start
Signed-off-by:
N
xsz233
<
xushizhe@huawei.com
>
上级
4d3ff4a6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
91 addition
and
42 deletion
+91
-42
zh-cn/application-dev/quick-start/module-configuration-file.md
.../application-dev/quick-start/module-configuration-file.md
+91
-42
未找到文件。
zh-cn/application-dev/quick-start/module-configuration-file.md
浏览文件 @
d053f561
...
...
@@ -133,8 +133,21 @@ deviceTypes示例:
}
```
在开发视图的resources/base/profile下面定义配置文件
**main_pages**
.json,其中文件名(
**main_pages**
)可自定义,需要和前文中pages标签指定的信息对应
,配置文件中列举了当前应用组件中的页面信息
。
在开发视图的resources/base/profile下面定义配置文件
**main_pages**
.json,其中文件名(
**main_pages**
)可自定义,需要和前文中pages标签指定的信息对应
。配置文件中列举了当前应用组件中的页面信息,包含页面的路由信息和显示窗口相关的配置
。
**表3**
**pages配置文件标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| src | 描述有关JavaScript模块中所有页面的路由信息,包括页面路径和页面名称。该值是一个字符串数组,其中每个元素表示一个页面,第一个元素表示主页。 | 字符串数组 | 该标签不可缺省。 |
| window | 用于定义与显示窗口相关的配置。 | 对象 | 该标签可缺省,缺省值为空。 |
**表4**
**pages配置文件中的window标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| designWidth | 标识页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。 | 数值 | 可缺省,缺省值为720px。 |
| autoDesignWidth | 标识页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为false。 |
```
json
{
...
...
@@ -143,7 +156,11 @@ deviceTypes示例:
"pages/second/payment"
,
"pages/third/shopping_cart"
,
"pages/four/owner"
]
],
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
```
...
...
@@ -152,7 +169,7 @@ deviceTypes示例:
该标签标识HAP的自定义元信息,标签值为数组类型,包含name,value,resource三个子标签。
**表
3
**
**metadata标签说明**
**表
5
**
**metadata标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -204,15 +221,14 @@ deviceTypes示例:
abilities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
**OpenHarmony中不允许应用隐藏
入口
图标**
**OpenHarmony中不允许应用隐藏
启动
图标**
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
入口图标,那么系统将应用app.json中的icon作为入口
图标,并显示在桌面上。
<br>
用户点击该图标,将跳转到
设置应用管理中对应的应用详情页面(图1)
中。
<br>
如果应用想要隐藏
入口
图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
启动图标,那么系统将应用app.json中的icon作为启动
图标,并显示在桌面上。
<br>
用户点击该图标,将跳转到
Settings的应用管理中对应的应用详情页面
中。
<br>
如果应用想要隐藏
启动
图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
**场景说明:**
该功能能防止一些恶意应用,故意配置无入口图标,导致用户找不到软件所在的位置,无法操作卸载应用,在一定程度上保证用户的手机安全
**
入口
图标的设置:**
需要在配置文件(module.json5)中abilities配置下设置icon,label以及skills,而且skills的配置下的必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
**
启动
图标的设置:**
需要在配置文件(module.json5)中abilities配置下设置icon,label以及skills,而且skills的配置下的必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
```
{
"module":{
...
...
@@ -234,37 +250,35 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
}
```
**
入口图标及入口标签的显示规则
**
*
HAP中包含
UI
Ability
*
配置文件(module.json5)中abilities配置中设置了
入口
图标
**
启动图标的查询
**
*
HAP中包含Ability
*
配置文件(module.json5)中abilities配置中设置了
启动
图标
*
该应用没有隐藏图标的特权
*
显示桌面图标为该UI
Ability配置的图标
*
显示桌面Label为该UI
Ability配置的Label(如果没有配置Label,返回包名)
*
显示组件名为该UI
Ability的组件名
*
用户点击该桌面图标,页面跳转到该
UI
Ability首页
*
返回的桌面图标为该
Ability配置的图标
*
返回的桌面Label为该
Ability配置的Label(如果没有配置Label,返回包名)
*
返回的组件名为该
Ability的组件名
*
用户点击该桌面图标,页面跳转到该Ability首页
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
配置文件(module.json5)中abilities配置中未设置
入口
图标
*
配置文件(module.json5)中abilities配置中未设置
启动
图标
*
该应用没有隐藏图标的特权
*
显示桌面图标为app配置下的图标(app.json中icon为必填项)
*
显示桌面Label为app配置下的label(app.json中label为必填项)
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
HAP中不包含
UI
Ability
*
HAP中不包含Ability
*
该应用没有隐藏图标的特权
*
显示桌面图标为app配置下的图标(app.json中icon为必填项)
*
显示桌面Label为app配置下的label(app.json中label为必填项)
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
<br><br>
应用的详情页例图
![
应用的详情页例图
](
figures/application_details.jpg
)
**表4**
**abilities标签说明**
**表6**
**abilities标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -348,7 +362,7 @@ abilities示例:
该标签标识UIAbility组件或者ExtensionAbility组件能够接收的
[
Want
](
../application-models/want-overview.md
)
的特征。
**表
5
**
**skills标签说明**
**表
7
**
**skills标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -356,7 +370,7 @@ abilities示例:
| entities | 标识能够接收Want的
[
Entity值的集合
](
../application-models/actions-entities.md
)
。 | 字符串数组 | 可缺省,缺省值为空。 |
|uris | 标识与Want中URI(Uniform
Resource
Identifier)相匹配的集合。 | 对象数组 | 可缺省,缺省值为空。 |
**表
6
**
**uris对象内部结构说明**
**表
8
**
**uris对象内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -397,11 +411,44 @@ skills示例:
}
```
**增强隐式查询功能**
支持Uri级别的前缀匹配。
当配置文件只配置scheme,或者只配置scheme和host,或者只配置scheme,host和port时,参数传入以配置文件为前缀的Uri,配置成功。
*
查询功能增强涉及以下接口
<br>
[
@ohos.bundle.bundleManager
](
../reference/apis/js-apis-bundleManager.md#bundlemanagerqueryabilityinfo
)
<br>
1.
function queryAbilityInfo(want: Want, abilityFlags: number, callback: AsyncCallback
<Array
<
AbilityInfo
>
>): void;
<br>
2.
function queryAbilityInfo(want: Want, abilityFlags: number, userId: number, callback: AsyncCallback
<Array
<
AbilityInfo
>
>): void;
<br>
3.
function queryAbilityInfo(want: Want, abilityFlags: number, userId?: number): Promise
<Array
<
AbilityInfo
>
>;
*
配置要求
<br>
abilities -> skills -> uris对象
<br>
配置1: 只配置 scheme = 'http'
<br>
配置2: 只配置 ( scheme = 'http' ) + ( host = 'example.com' )
<br>
配置3: 只配置 ( scheme = 'http' ) + ( host = 'example.com' ) + ( port = '8080' )
*
前缀匹配
<br>
参数
[
want
](
../application-models/want-overview.md
)
下uri,调用queryAbilityInfo查询接口
<br>
1.
uri = 'https://' 无匹配
<br>
2.
uri = 'http://' 可以匹配 配置1
<br>
3.
uri = 'https://example.com' 无匹配
<br>
4.
uri = 'https://exa.com' 无匹配
<br>
5.
uri = 'http://exa.com' 可以匹配 配置1
<br>
6.
uri = 'http://example.com' 可以匹配 配置1 配置2
<br>
7.
uri = 'https://example.com:8080' 无匹配
<br>
8.
uri = 'http://exampleaa.com:8080' 可以匹配 配置1
<br>
9.
uri = 'http://example.com:9180' 可以匹配 配置1 配置2
<br>
10.
uri = 'http://example.com:8080' 可以匹配 配置1 配置2 配置3
<br>
11.
uri = 'https://example.com:9180/path' 无匹配
<br>
12.
uri = 'http://exampleap.com:8080/path' 可以匹配 配置1
<br>
13.
uri = 'http://example.com:9180/path' 可以匹配 配置1 配置2
<br>
14.
uri = 'http://example.com:8080/path' 可以匹配 配置1 配置2 配置3
<br>
## extensionAbilities标签
描述extensionAbilities的配置信息,标签值为数组类型,该标签下的配置只对当前extensionAbilities生效。
**表
7
**
**extensionAbilities标签说明**
**表
9
**
**extensionAbilities标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -461,7 +508,7 @@ extensionAbilities示例:
> - 在requestPermissions标签中配置的权限项将在应用级别生效,即该权限适用于整个应用程序。
> - 如果应用需要订阅自己发布的事件,而且应用在extensionAbilities标签中的permissions字段中设置了访问该应用所需要的权限,那么应用也需要在requestPermissions标签中注册相关权限才能收到该事件。
**表
8
**
**requestPermissions标签说明**
**表
10
**
**requestPermissions标签说明**
| 属性 | 含义 | 类型 | 取值范围 | 默认值 |
| -------- | -------- | -------- | -------- | -------- |
...
...
@@ -502,6 +549,8 @@ metadata中指定shortcut信息,其中:
-
resource:指定shortcuts信息的资源位置。
**表11**
**shortcuts标签说明**
| 属性 | 含义 | 类型 | 默认值 |
| -------- | -------- | -------- | -------- |
| shortcutId | 标识快捷方式的ID。字符串的最大长度为63字节。 | 字符串 | 该标签不可缺省。 |
...
...
@@ -568,7 +617,7 @@ metadata中指定shortcut信息,其中:
该标签下的子标签均为可选字段,在应用市场云端分发时做精准匹配使用,distributionFilter标签用于定义HAP对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、屏幕尺寸、屏幕分辨率,设备的国家与地区码。在进行分发时,通过deviceType与这五个属性的匹配关系,唯一确定一个用于分发到设备的HAP。该标签需要配置在/resource/profile资源目录下。
**表
9
**
**distributionFilter标签标签配置说明**
**表
12
**
**distributionFilter标签标签配置说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -578,28 +627,28 @@ metadata中指定shortcut信息,其中:
| countryCode | 表示应用需要分发的国家地区码,具体值以ISO-3166-1标准为准。支持多个国家和地区枚举定义。 | 对象数组 | 该标签可缺省,缺省值为空。 |
**表1
0
**
**screenShape对象的内部结构**
**表1
3
**
**screenShape对象的内部结构**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。
<br/>
-
exclude:表示需要排除的value属性。
<br/>
-
include:表示需要包含的value属性。 | 字符串 | 该标签不可缺省。 |
| value | 支持的取值为circle(圆形)、rect(矩形)。场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。 | 字符串数组 | 该标签不可缺省。 |
**表1
1
**
**screenWindow对象的内部结构说明**
**表1
4
**
**screenWindow对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。
<br/>
-
exclude:表示该字段取值不包含value枚举值匹配规则的匹配该属性。
<br/>
-
include:表示该字段取值满足value枚举值匹配规则的匹配该属性。 | 字符串 | 该标签不可缺省。 |
| value | 单个字符串的取值格式为“宽
\*
高”,取值为整数像素值,例如“454
\*
454”。 | 字符串数组 | 该标签不可缺省。 |
**表1
2
**
**screenDensity对象的内部结构说明**
**表1
5
**
**screenDensity对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。
<br/>
-
exclude:表示需要排除的value属性。
<br/>
-
include:表示需要包含的value属性。 | 字符串 | 该标签不可缺省。 |
| value | 该标签标识屏幕的像素密度(dpi
:Dot
Per
Inch)。 | 字符串数组 | 该标签不可缺省。 |
**表1
3
**
**countryCode对象的内部结构说明**
**表1
6
**
**countryCode对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -666,7 +715,7 @@ metadata中指定shortcut信息,其中:
此标签用于支持对测试框架的配置。
**表1
4
**
**testRunner标签说明**
**表1
7
**
**testRunner标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -692,7 +741,7 @@ testRunner标签示例:
此标签用于支持对原子化服务的配置。此标签仅在app.json中bundleType指定为atomicService时使能。
**表1
4
**
**atomicService标签说明**
**表1
8
**
**atomicService标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -719,7 +768,7 @@ atomicService标签示例:
此标签标识原子化服务中预加载列表。
**表1
4
**
**preloads标签说明**
**表1
9
**
**preloads标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
...
...
@@ -745,7 +794,7 @@ preloads标签示例:
此标签标识模块运行时依赖的共享库列表。
**表
14
**
**dependencies标签说明**
**表
20
**
**dependencies标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ----------- | ------------------------------ | -------- | ---------- |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录