• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 集成态HSP
2
3集成态HSP是应用内HSP的一种中间编译产物,目的就是解决使用方的bundleName和签名之间的强耦合问题。
4> **说明:**
5> HSP只能给bundleName一样的项目使用,集成态HSP可以给不同的bundleName的工程集成使用。
6
7## 使用场景
8集团内部有多个应用,多个应用中都有一个相同的动态共享包。为了节约开发成本,实现代码和资源的共享,多个应用可以共享一个基建HSP(集成态HSP)。
9
10## 约束限制
11- 集成态HSP只支持[Stage模型](application-package-structure-stage.md)。
12- 集成态HSP需要API12及以上版本,使用[标准化的OHMUrl格式](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-build-profile-V5#section511142752919)13
14## 开发使用说明
151. 创建方-集成态HSP-工程配置:集成态HSP需要使用标准化的OHMUrl格式,修改工程级构建配置文件build-profile.json5,设置配置项useNormalizedOHMUrl为true,指定工程使用标准化的OHMUrl格式。
16
17    ```json
18    // created_party_project/build-profile.json5
19    {
20      "app": {
21        "products": {
22          "name": "default",
23          "signingConfig": "default",
24          "compatibleSdkVersion": "5.0.0(12)",
25          "runtimeOS": "HarmonyOS",
26          "buildOption": {
27            "strictMode": {
28              "useNormalizedOHMUrl": true
29            }
30          }
31        }
32      }
33    }
34    ```
352. 创建方-集成态HSP-模块配置:修改模块级构建配置文件build-profile.json5,设置配置项integratedHsp为true,指定构建的HSP模块为集成态HSP。
36
37    ```json
38    // created_party_project/library/build-profile.json5
39    {
40      "apiType": "stageMode",
41      "buildOption": {
42        "arkOptions": {
43          "integratedHsp": true
44        }
45      }
46    }
47    ```
48
493. 创建方-集成态HSP-打包配置(tgz包)。
50
51   (1) 配置项目签名信息,详见[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)52
53   (2) 配置release模式;
54
55    ![](./figures/ide-release-setting.png)
56
57   (3) 选择library目录,Build -> Make Module 'libray'。
58
594. 使用方-创建目录拷贝文件,在entry目录下新建libs目录,将集成态打包产物tgz包拷贝到libs目录下。
60
615. 使用方-工程依赖配置:使用方主模块下oh-package.json5配置文件中添加依赖。
62
63    ```json
64    // user_project/entry/oh-package.json5
65      "dependencies": {
66        "hsp": "./libs/library-default.tgz"
67      }
68    ```
69
706. 使用方-工程配置:集成态HSP需要使用标准化的OHMUrl格式,修改工程级构建配置文件build-profile.json5,设置配置项useNormalizedOHMUrl为true,指定工程使用标准化的OHMUrl格式。
71
72    ```json
73    // user_project/build-profile.json5
74    {
75      "app": {
76        "products": {
77          "name": "default",
78          "signingConfig": "default",
79          "compatibleSdkVersion": "5.0.0(12)",
80          "runtimeOS": "HarmonyOS",
81          "buildOption": {
82            "strictMode": {
83              "useNormalizedOHMUrl": true
84            }
85          }
86        }
87      }
88    }
89    ```
90    > **说明:**
91    > 安装运行应用前,使用方工程必须配置项目签名信息,详见[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-0000001587684945-V5)