1# 集成态HSP 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9集成态HSP是应用内HSP的中间编译产物,用于解决使用方的bundleName和签名之间的强耦合问题。 10> **说明:** 11> 12> HSP只能给bundleName一样的工程使用,集成态HSP可以给不同的bundleName的工程集成使用。 13> 14> 使用方使用集成态HSP时,需要采用使用方的签名文件对集成态HSP重新签名,且需要优先安装重新签名后的集成态HSP。 15 16## 使用场景 17集团内部有多个应用,多个应用中都有一个相同的动态共享包。为了节约开发成本并实现代码和资源的共享,多个应用可以共用一个基建HSP(集成态HSP)。 18 19## 约束限制 20- 集成态HSP只支持[Stage模型](application-package-structure-stage.md)。 21- 集成态HSP需要API12及以上版本,需要在工程级的[build-profile.json5文件](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-app)中,将useNormalizedOHMUrl字段设置为true。 22 23## 开发使用说明 241. 创建方-集成态HSP-工程配置:配置工程级的build-profile.json5文件,将useNormalizedOHMUrl字段设置为true。 25 26 ```json 27 // created_party_project/build-profile.json5 28 { 29 "app": { 30 "products": [ 31 { 32 "name": "default", 33 "signingConfig": "default", 34 "compatibleSdkVersion": "5.0.0(12)", 35 "runtimeOS": "HarmonyOS", 36 "buildOption": { 37 "strictMode": { 38 "useNormalizedOHMUrl": true 39 } 40 } 41 // ... 42 } 43 ] 44 // ... 45 } 46 } 47 ``` 482. 创建方-集成态HSP-模块配置:修改模块级构建配置文件[build-profile.json5](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile),将integratedHsp配置项设置为true,指定构建的HSP模块为集成态HSP。 49 50 ```json 51 // created_party_project/library/build-profile.json5 52 { 53 "apiType": "stageMode", 54 "buildOption": { 55 "arkOptions": { 56 "integratedHsp": true 57 } 58 } 59 } 60 ``` 61 623. 创建方-集成态HSP-打包配置(tgz包)。 63 64 (1) 配置项目签名信息,详情请参见[应用/元服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-signing)。 65 66 (2) 配置release模式。 67 68  69 70 (3) 选择library目录,执行Build -> Make Module 'library'。 71 724. 使用方-创建目录并拷贝文件:在entry目录下新建libs目录,将集成态打包产物tgz包拷贝到libs目录下。 73 745. 使用方-工程依赖配置:在使用方主模块的oh-package.json5配置文件中添加依赖。 75 76 ```json 77 // user_project/entry/oh-package.json5 78 "dependencies": { 79 "hsp": "./libs/library-default.tgz" 80 } 81 ``` 82 836. 使用方-工程配置:在工程级的build-profile.json5文件中,将useNormalizedOHMUrl字段设置为true。 84 ```json 85 // user_project/build-profile.json5 86 { 87 "app": { 88 "products": [ 89 { 90 "name": "default", 91 "signingConfig": "default", 92 "compatibleSdkVersion": "5.0.0(12)", 93 "runtimeOS": "HarmonyOS", 94 "buildOption": { 95 "strictMode": { 96 "useNormalizedOHMUrl": true 97 } 98 } 99 } 100 ] 101 } 102 } 103 ``` 104 > **说明:** 105 > 安装和运行应用前,必须配置项目签名信息,详见[应用/元服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-signing)。