Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
79163b82
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,发现更多精彩内容 >>
未验证
提交
79163b82
编写于
3月 24, 2023
作者:
O
openharmony_ci
提交者:
Gitee
3月 24, 2023
浏览文件
操作
浏览文件
下载
差异文件
!16420 优化hsp资料描述
Merge pull request !16420 from hwyml/xbw
上级
1777fb56
d10d8cc4
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
12 addition
and
10 deletion
+12
-10
zh-cn/application-dev/quick-start/cross-app-hsp.md
zh-cn/application-dev/quick-start/cross-app-hsp.md
+5
-5
zh-cn/application-dev/quick-start/har-package.md
zh-cn/application-dev/quick-start/har-package.md
+1
-1
zh-cn/application-dev/quick-start/in-app-hsp.md
zh-cn/application-dev/quick-start/in-app-hsp.md
+4
-4
zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md
...evice-dev/subsystems/subsys-app-privilege-config-guide.md
+2
-0
未找到文件。
zh-cn/application-dev/quick-start/cross-app-hsp.md
浏览文件 @
79163b82
...
@@ -7,12 +7,12 @@
...
@@ -7,12 +7,12 @@
1.
应用间
`HSP`
的代码会运行再开发者应用的进程中,调用相关代码时,需要做好异常捕获与容错处理,防止由于应用间
`HSP`
功能异常导致的稳定性问题。
1.
应用间
`HSP`
的代码会运行再开发者应用的进程中,调用相关代码时,需要做好异常捕获与容错处理,防止由于应用间
`HSP`
功能异常导致的稳定性问题。
2.
一个应用可以同时依赖多个应用间
`HSP`
。
2.
一个应用可以同时依赖多个应用间
`HSP`
。
3.
应用间
`HSP`
会影响开发者应用自身的启动时间,依赖过多的应用间
`HSP`
可能会导致启动时延发生明显的劣化,建议将依赖的数目控制在16个以内。
3.
应用间
`HSP`
会影响开发者应用自身的启动时间,依赖过多的应用间
`HSP`
可能会导致启动时延发生明显的劣化,建议将依赖的数目控制在16个以内。
4.
当前三方开发者开发者只能使用系统提供的应用间
`HSP`
,不支持开发并发布自己的应用间
`HSP`
。
4.
应用间
`HSP`
安装时需要对特权权限进行校验,如果想要开发应用间
`HSP`
,需要配置allowAppShareLibrary应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
## 应用间HSP的使用
## 应用间HSP的使用
应用间HSP会分为两部分对外发布:
应用间HSP会分为两部分对外发布:
一部分为
[
HAR
](
har-package.md
)
,
这部分
`HAR`
中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将
`HAR`
集成到自身的工程中,然后就可以通过调用
`HAR`
中提供的对象与方法完成自身的应用功能。
一部分为
[
HAR
](
har-package.md
)
,
`HAR`
包中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将
`HAR`
包集成到自身的工程中,然后就可以通过调用
`HAR`
包
中提供的对象与方法完成自身的应用功能。
另外一部分为HSP,这部分为应用间
`HSP`
的具体实现,里面包含js/ts代码、C++库、资源和配置文件。这部分会上架到应用市场或者集成到系统版本中。
另外一部分为HSP,这部分为应用间
`HSP`
的具体实现,里面包含js/ts代码、C++库、资源和配置文件。这部分会上架到应用市场或者集成到系统版本中。
...
@@ -23,7 +23,7 @@ src
...
@@ -23,7 +23,7 @@ src
├── main
├── main
| └── module.json5
| └── module.json5
├── index.d.ets
├── index.d.ets
└──
package.json
└──
oh-package.json5
```
```
`index.d.ets`
内容样例如下:
`index.d.ets`
内容样例如下:
```
ts
```
ts
...
@@ -117,7 +117,7 @@ extern "C" __attribute__((constructor)) void RegisterLibaModule(void) {
...
@@ -117,7 +117,7 @@ extern "C" __attribute__((constructor)) void RegisterLibaModule(void) {
}
}
```
```
### 使用HAR导出的能力
### 使用HAR导出的能力
引用
`HAR`
前,需要先配置对
`HAR`
的依赖,配置方式可参考
[
文档
](
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391
)
。
`HAR`
配置成功后,在配置模块的
`module.json`
中会生成相关依赖项信息,如下所示:
引用
`HAR`
前,需要先配置对
`HAR`
的依赖,配置方式可参考
[
文档
](
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391
)
。
`HAR`
配置成功后,在配置模块的
`module.json
5
`
中会生成相关依赖项信息,如下所示:
```
json
```
json
"dependencies"
:
[
"dependencies"
:
[
{
{
...
...
zh-cn/application-dev/quick-start/har-package.md
浏览文件 @
79163b82
...
@@ -27,7 +27,7 @@ artifactType字段有以下两种取值,默认缺省为original。
...
@@ -27,7 +27,7 @@ artifactType字段有以下两种取值,默认缺省为original。
-
Stage模型的HAR,不能引用AppScope内的内容。在编译构建时APPScope中的内容不会打包到HAR中,导致HAR资源引用失败。
-
Stage模型的HAR,不能引用AppScope内的内容。在编译构建时APPScope中的内容不会打包到HAR中,导致HAR资源引用失败。
## 导出HAR的ArkUI组件、接口、资源
## 导出HAR的ArkUI组件、接口、资源
index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的
package.json
文件中的main字段配置入口声明文件,配置如下所示:
index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的
oh-package.json5
文件中的main字段配置入口声明文件,配置如下所示:
```
json
```
json
{
{
"main"
:
"index.ets"
"main"
:
"index.ets"
...
...
zh-cn/application-dev/quick-start/in-app-hsp.md
浏览文件 @
79163b82
...
@@ -15,7 +15,7 @@ library
...
@@ -15,7 +15,7 @@ library
│ │ └── index.ets
│ │ └── index.ets
│ ├── resources
│ ├── resources
│ └── module.json5
│ └── module.json5
└──
package.json
└──
oh-package.json5
```
```
模块
`module.json5`
中的
`"type"`
标识模块类型,
`HSP`
的
`"type"`
是
`"shared"`
。
模块
`module.json5`
中的
`"type"`
标识模块类型,
`HSP`
的
`"type"`
是
`"shared"`
。
```
json
```
json
...
@@ -24,7 +24,7 @@ library
...
@@ -24,7 +24,7 @@ library
}
}
```
```
`HSP`
通过在入口文件中导出接口,对外提供能力。入口文件在模块
`
package.json
`
的
`"main"`
中配置。例如:
`HSP`
通过在入口文件中导出接口,对外提供能力。入口文件在模块
`
oh-package.json5
`
的
`"main"`
中配置。例如:
```
json
```
json
{
{
"main"
:
"./src/main/ets/index.ets"
"main"
:
"./src/main/ets/index.ets"
...
@@ -103,9 +103,9 @@ export { nativeMulti } from './utils/nativeTest'
...
@@ -103,9 +103,9 @@ export { nativeMulti } from './utils/nativeTest'
```
```
## 使用应用内HSP
## 使用应用内HSP
要使用
`HSP`
中的接口,首先需要在使用方的
`
package.json
`
中配置对它的依赖。如果应用内
`HSP`
和使用方在同一工程下,可以直接本地引用,例如:
要使用
`HSP`
中的接口,首先需要在使用方的
`
oh-package.json5
`
中配置对它的依赖。如果应用内
`HSP`
和使用方在同一工程下,可以直接本地引用,例如:
```
json
```
json
//
entry/
src/main/modul
e.json
5
//
entry/
oh-packag
e.json
5
"dependencies"
:
{
"dependencies"
:
{
"library"
:
"file:../library"
"library"
:
"file:../library"
}
}
...
...
zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md
浏览文件 @
79163b82
...
@@ -63,6 +63,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单
...
@@ -63,6 +63,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单
| allowAbilityExcludeFromMissions | bool | false| 是否允许Ability不在任务栈中显示。 |
| allowAbilityExcludeFromMissions | bool | false| 是否允许Ability不在任务栈中显示。 |
| allowAppUsePrivilegeExtension | bool | false|是否允许应用使用ServiceExtension、DataExtension。 |
| allowAppUsePrivilegeExtension | bool | false|是否允许应用使用ServiceExtension、DataExtension。 |
| allowFormVisibleNotify | bool | false| 是否允许桌面卡片可见。 |
| allowFormVisibleNotify | bool | false| 是否允许桌面卡片可见。 |
| allowAppShareLibrary | bool | false | 是否允许为其它应用提供
[
应用间`HSP`
](
../../application-dev/quick-start/cross-app-hsp.md
)
能力。
### 配置方式
### 配置方式
...
@@ -90,6 +91,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单
...
@@ -90,6 +91,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单
"allowAbilityExcludeFromMissions"
:
true
,
//
允许Ability不在任务栈中显示
"allowAbilityExcludeFromMissions"
:
true
,
//
允许Ability不在任务栈中显示
"allowAppUsePrivilegeExtension"
:
true
,
//
允许应用使用ServiceExtension、DataExtension
"allowAppUsePrivilegeExtension"
:
true
,
//
允许应用使用ServiceExtension、DataExtension
"allowFormVisibleNotify"
:
true
//
允许桌面卡片可见
"allowFormVisibleNotify"
:
true
//
允许桌面卡片可见
"allowAppShareLibrary"
:
true
//
允许应用提供应用间HSP能力
},
},
}
}
```
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录