Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
cf26b247
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
cf26b247
编写于
3月 01, 2023
作者:
O
openharmony_ci
提交者:
Gitee
3月 01, 2023
浏览文件
操作
浏览文件
下载
差异文件
!15241 包管理配置文件文档说明优化
Merge pull request !15241 from jiangminsen/master
上级
783a98fb
8b872ef0
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
202 addition
and
18 deletion
+202
-18
zh-cn/application-dev/application-models/application-component-configuration-stage.md
...ation-models/application-component-configuration-stage.md
+2
-4
zh-cn/application-dev/quick-start/module-configuration-file.md
.../application-dev/quick-start/module-configuration-file.md
+92
-1
zh-cn/application-dev/quick-start/module-structure.md
zh-cn/application-dev/quick-start/module-structure.md
+94
-0
zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md
...tion-dev/reference/apis/js-apis-ability-featureAbility.md
+6
-6
zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md
...ion-dev/reference/apis/js-apis-ability-particleAbility.md
+2
-2
zh-cn/application-dev/security/app-provision-structure.md
zh-cn/application-dev/security/app-provision-structure.md
+2
-1
zh-cn/release-notes/changelogs/OpenHarmony_3.2.10.5/changelogs-bundlemanager.md
...angelogs/OpenHarmony_3.2.10.5/changelogs-bundlemanager.md
+4
-4
未找到文件。
zh-cn/application-dev/application-models/application-component-configuration-stage.md
浏览文件 @
cf26b247
...
...
@@ -35,9 +35,7 @@
Stage模型支持对组件配置入口图标和入口标签。入口图标和入口标签会显示在桌面上。
入口图标需要在[module.json5配置文件](../quick-start/module-configuration-file.md)中配置,在abilities标签下面有icon标签。例如希望在桌面上显示该UIAbility的图标,则需要在skills标签下面的entities中添加"entity.system.home"、actions中添加"action.system.home"。同一个应用有多个UIAbility配置上述字段时,桌面上会显示出多个图标,分别对应各自的UIAbility。
入口标签需要在[module.json5配置文件](../quick-start/module-configuration-file.md)中配置,在abilities标签下面有label标签。例如希望在桌面上显示该UIAbility的图标,则需要在skills标签下面的entities中添加"entity.system.home"、actions中添加"action.system.home"。同一个应用有多个UIAbility配置上述字段时,桌面上会显示出多个标签,分别对应各自的UIAbility。
入口图标需要在[module.json5配置文件](../quick-start/module-configuration-file.md)中配置,在abilities标签下面有icon标签。例如希望在桌面上显示该UIAbility的图标,则需要在skills标签下面的entities中添加"entity.system.home"、actions中添加"ohos.want.action.home"。同一个应用有多个UIAbility配置上述字段时,桌面上会显示出多个图标,分别对应各自的UIAbility。
```
json
{
...
...
@@ -54,7 +52,7 @@
"entity.system.home"
],
"actions"
:
[
"
action.system
.home"
"
ohos.want.action
.home"
]
}
],
...
...
zh-cn/application-dev/quick-start/module-configuration-file.md
浏览文件 @
cf26b247
...
...
@@ -200,7 +200,64 @@ deviceTypes示例:
## abilities标签
ablities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
abilities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
**OpenHarmony中不允许应用隐藏启动图标**
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":{
...
"abilities": [{
"icon": "$media:icon",
"label": "Login",
"skills": [{
"actions": ["ohos.want.action.home"],
"entities": ["entity.system.home"],
"uris": []
}]
}],
...
}
}
```
**启动图标的查询**
*
HAP中包含Ability
*
配置文件(module.json5)中abilities配置中设置了启动图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为该Ability配置的图标
*
返回的桌面Label为该Ability配置的Label(如果没有配置Label,返回包名)
*
返回的组件名为该Ability的组件名
*
用户点击该桌面图标,页面跳转到该Ability首页
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
配置文件(module.json5)中abilities配置中未设置启动图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
HAP中不包含Ability
*
该应用没有隐藏图标的特权
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
<br><br>
**表4**
**abilities标签说明**
...
...
@@ -335,6 +392,40 @@ 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标签
...
...
zh-cn/application-dev/quick-start/module-structure.md
浏览文件 @
cf26b247
...
...
@@ -190,6 +190,66 @@ metadata对象示例:
## abilities对象的内部结构
**OpenHarmony中不允许应用隐藏启动图标**
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置启动图标,那么系统会给该应用创建一个默认的图标显示在桌面上;
<br>
用户点击该图标,将跳转到Settings的应用管理中对应的应用详情页面中。
<br>
如果应用想要隐藏启动图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
**启动图标的设置:**
需要在配置文件(config.json)中abilities配置下设置icon,label以及skills,而且skills的配置下必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
```
{
"module":{
...
"abilities": [{
"icon": "$media:icon",
"label": "Login",
"skills": [{
"actions": ["ohos.want.action.home"],
"entities": ["entity.system.home"],
"uris": []
}]
}],
...
}
}
```
**启动图标的查询**
*
HAP中包含Page类型的Ability
*
配置文件(config.json)中abilities配置中设置了启动图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为该Ability配置的图标
*
返回的桌面Label为该Ability配置的Label(如果没有配置Label,返回包名)
*
返回的组件名为该Ability的组件名
*
用户点击该桌面图标,页面跳转到该Ability首页
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
配置文件(config.json)中abilities配置中未设置启动图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为系统默认图标
*
返回的桌面Label为该应用的包名
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
HAP中不包含Page类型的Ability
*
该应用没有隐藏图标的特权
*
返回的桌面图标为系统默认图标
*
返回的桌面Label为该应用的包名
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
注:应用详情页面中显示的图标与label,可能与桌面上显示的不同。如果非Page类型的ability配置了入口图标和label,那么详情页中显示的即为配置的。
<br><br>
**表8**
**abilities对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
...
...
@@ -351,6 +411,40 @@ 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 = 'www.example.com' )
<br>
配置3: 只配置 ( scheme = 'http' ) + ( host = 'www.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://www.example.com' 无匹配
<br>
4.
uri = 'https://www.exa.com' 无匹配
<br>
5.
uri = 'http://www.exa.com' 可以匹配 配置1
<br>
6.
uri = 'http://www.example.com' 可以匹配 配置1 配置2
<br>
7.
uri = 'https://www.example.com:8080' 无匹配
<br>
8.
uri = 'http://www.exampleaa.com:8080' 可以匹配 配置1
<br>
9.
uri = 'http://www.example.com:9180' 可以匹配 配置1 配置2
<br>
10.
uri = 'http://www.example.com:8080' 可以匹配 配置1 配置2 配置3
<br>
11.
uri = 'https://www.example.com:9180/query/student/name' 无匹配
<br>
12.
uri = 'http://www.exampleap.com:8080/query/student/name' 可以匹配 配置1
<br>
13.
uri = 'http://www.example.com:9180/query/student/name' 可以匹配 配置1 配置2
<br>
14.
uri = 'http://www.example.com:8080/query/student/name' 可以匹配 配置1 配置2 配置3
<br>
## reqPermissions权限申请
**表12**
**reqPermissions权限申请字段说明**
...
...
zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md
浏览文件 @
cf26b247
...
...
@@ -99,7 +99,7 @@ featureAbility.startAbility(
{
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -182,7 +182,7 @@ featureAbility.startAbilityForResult(
{
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -236,7 +236,7 @@ featureAbility.startAbilityForResult(
{
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -288,7 +288,7 @@ featureAbility.terminateSelfWithResult(
resultCode
:
1
,
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -345,7 +345,7 @@ featureAbility.terminateSelfWithResult(
resultCode
:
1
,
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -823,7 +823,7 @@ featureAbility.AbilityStartSetting.BOUNDS_KEY
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是否是可反向的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 表示如果未安装指定的Ability,将安装该Ability。 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 表示如果未安装指定的Ability,将在后台安装该Ability。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 表示清除其他任务的操作。可以为传递给
**
[ohos.app.Context](js-apis-ability-context.md)**
中
**startAbility**
方法的
**Want**
设置此标志,并且必须与
**flag_ABILITY_NEW_MISSION**
一起使用。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 表示清除其他任务的操作。可以为传递给
**
FeatureAbility**
中
[
startAbility
](
#featureabilitystartability
)
方法的参数对象
[
parameter
](
js-apis-inner-ability-startAbilityParameter.md
)
下的
[
Want
](
js-apis-application-want.md
)
设置此标志,并且必须与
**flag_ABILITY_NEW_MISSION**
一起使用。 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 表示在已有的任务栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 表示如果启动的Ability的现有实例已位于任务栈顶,则将重用该实例。否则,将创建一个新的Ability实例。 |
zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md
浏览文件 @
cf26b247
...
...
@@ -47,7 +47,7 @@ particleAbility.startAbility(
{
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
@@ -98,7 +98,7 @@ particleAbility.startAbility(
{
want
:
{
action
:
'
action.system
.home
'
,
action
:
'
ohos.want.action
.home
'
,
entities
:
[
'
entity.system.home
'
],
type
:
'
MIMETYPE
'
,
flags
:
wantConstant
.
Flags
.
FLAG_AUTH_READ_URI_PERMISSION
,
...
...
zh-cn/application-dev/security/app-provision-structure.md
浏览文件 @
cf26b247
...
...
@@ -53,7 +53,6 @@ HarmonyAppProvision文件示例:
```
### validity对象内部结构
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
...
...
@@ -63,6 +62,8 @@ HarmonyAppProvision文件示例:
### bundle-info对象内部结构
**说明:**
HarmonyAppProvision文件中的bundle-info对象中bundle-name需要和所签名应用的包名bundleName(config.js/module.json5)保持一致。为了防止同一个HarmonyAppProvision配置文件任意用于不同应用的签名,在应用安装过程中,系统会校验HAP签名信息的bundleName与HAP的配置文件中的bundleName是否一致,如果不一致,HAP无法安装。
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
| ------------------------ | ------------------------------- | ------- | -------- | --------- |
| developer-id | 表示开发者的唯一ID号,用于OEM厂商标识开发者,开源社区版本该属性不做强制要求。 | 字符串 | 必选 | 不可缺省 |
...
...
zh-cn/release-notes/changelogs/OpenHarmony_3.2.10.5/changelogs-bundlemanager.md
浏览文件 @
cf26b247
...
...
@@ -23,12 +23,12 @@ error: verify signature failed.
增加对无图标应用的管控,如果应用未配置入口图标且未申请隐藏图标特权(AllowHideDesktopIcon),则会在桌面上显示一个默认图标,点击后跳转至应用详情页。此处的未配置入口图标规则如下:
1.
应用中未配置abilities字段
2.
应用中配置了abilities字段,但是没有任何一个page类型的ability中skills如下,即同时包含"
action.system
.home"和"entity.system.home":
2.
应用中配置了abilities字段,但是没有任何一个page类型的ability中skills如下,即同时包含"
ohos.want.action
.home"和"entity.system.home":
```
json
"skills"
:
[
{
"actions"
:
[
"
action.system
.home"
"
ohos.want.action
.home"
],
"entities"
:
[
"entity.system.home"
...
...
@@ -40,7 +40,7 @@ error: verify signature failed.
如果应用不需要再桌面显示图标,需要申请相应的隐藏图标特权AllowHideDesktopIcon,并在签名证书文件中或者白名单(install_list_capability.json)配置,可以参考:
[
应用特权配置指南
](
../../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
如果应该需要在桌面显示图标,则需要在abilities中选择一个ability配置skills,同时包含"
action.system
.home"和"entity.system.home"。
如果应该需要在桌面显示图标,则需要在abilities中选择一个ability配置skills,同时包含"
ohos.want.action
.home"和"entity.system.home"。
**变更影响**
<br>
对之前的版本镜像无影响,对使用3.2.10.5版本及之后的系统镜像,如果应用未配置图标,通过命令行的安装方式会在桌面显示默认图标。
...
...
@@ -51,7 +51,7 @@ error: verify signature failed.
**适配指导**
<br>
如果应用不需要再桌面显示图标,需要申请相应的隐藏图标特权AllowHideDesktopIcon,并在签名证书文件中或者白名单(install_list_capability.json)配置,可以参考:
[
应用特权配置指南
](
../../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
如果应该需要在桌面显示图标,则需要在abilities中选择一个ability配置skills,同时包含"
action.system
.home"和"entity.system.home"。
如果应该需要在桌面显示图标,则需要在abilities中选择一个ability配置skills,同时包含"
ohos.want.action
.home"和"entity.system.home"。
## cl.bundlemanager.3 底层能力变更,特权AllowAppUsePrivilegeExtension、AllowAppMultiProcess和AllowFormVisibleNotify不支持通过签名证书配置,仅支持通过白名单install_list_capability.json申请这三个特权。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录