未验证 提交 f99cd42f 编写于 作者: O openharmony_ci 提交者: Gitee

!18222 修改har和hsp资料链接相关

Merge pull request !18222 from junyi233/hsp
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。 HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。
## 创建HAR模块 ## 创建HAR模块
HAR对应DevEco Studio工程中的“Library”类型的[Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/add_new_module-0000001053223741-V3),可以通过DevEco Studio创建一个HAR模块。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示: 通过DevEco Studio创建一个HAR模块,创建方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section143510369612)。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示:
```json ```json
{ {
...@@ -90,7 +90,7 @@ HAR模块编译打包时会把资源打包到HAR中。在编译构建HAP时,De ...@@ -90,7 +90,7 @@ HAR模块编译打包时会把资源打包到HAR中。在编译构建HAP时,De
- 依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。 - 依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。
## 引用HAR的ArkUI组件、接口、资源 ## 引用HAR的ArkUI组件、接口、资源
引用HAR前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391) 引用HAR前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section611662614153)
### 引用HAR的ArkUI组件 ### 引用HAR的ArkUI组件
...@@ -167,3 +167,7 @@ struct Index { ...@@ -167,3 +167,7 @@ struct Index {
} }
} }
``` ```
## 发布HAR
发布HAR可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section1213451811512)
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
## 开发应用内HSP ## 开发应用内HSP
`HSP`模块可以在`DevEco Studio`中由指定模板创建,我们以创建一个名为`library``HSP`模块为例。基本的工程目录结构大致如下: 通过DevEco Studio创建一个HSP模块,创建方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3#section7717162312546),我们以创建一个名为`library``HSP`模块为例。基本的工程目录结构大致如下:
``` ```
library library
├── src ├── src
...@@ -88,7 +88,7 @@ export { MyTitleBar } from './components/MyTitleBar' ...@@ -88,7 +88,7 @@ export { MyTitleBar } from './components/MyTitleBar'
### 导出native方法 ### 导出native方法
`HSP`中也可以包含`C++`编写的`so`。对于`so`中的`native`方法,`HSP`通过间接的方式导出,以导出`libnative.so`的乘法接口`multi`为例: `HSP`中也可以包含`C++`编写的`so`。对于`so`中的`native`方法,`HSP`通过间接的方式导出,以导出`libnative.so`的乘法接口`multi`为例:
```ts ```ts
// ibrary/src/main/ets/utils/nativeTest.ts // library/src/main/ets/utils/nativeTest.ts
import native from "libnative.so" import native from "libnative.so"
export function nativeMulti(a: number, b: number) { export function nativeMulti(a: number, b: number) {
...@@ -103,15 +103,9 @@ export { nativeMulti } from './utils/nativeTest' ...@@ -103,15 +103,9 @@ export { nativeMulti } from './utils/nativeTest'
``` ```
## 使用应用内HSP ## 使用应用内HSP
要使用`HSP`中的接口,首先需要在使用方的`oh-package.json5`中配置对它的依赖。如果应用内`HSP`和使用方在同一工程下,可以直接本地引用,例如: 要使用HSP中的接口,首先需要在使用方的oh-package.json5中配置对它的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3#section6161154819195)
```json 依赖配置成功后,就可以像使用HAR一样调用HSP的对外接口了。 例如,上面的library已经导出了下面这些接口:
// entry/oh-package.json5
"dependencies": {
"library": "file:../library"
}
```
然后就可以像使用`HAR`一样调用`HSP`的对外接口了。
例如,上面的`library`已经导出了下面这些接口:
```ts ```ts
// library/src/main/ets/index.ets // library/src/main/ets/index.ets
export { Log, add, minus } from './utils/test' export { Log, add, minus } from './utils/test'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册