HarmonyOS鸿蒙Next中hsp包供其他项目使用

HarmonyOS鸿蒙Next中hsp包供其他项目使用 如何打成hsp包之后,提供给其他项目使用呢?

4 回复

【解决方案】

将HSP提供可以通过集成态HSP解决,集成态HSP是应用内HSP的中间编译产物,用于解决使用方的bundleName和签名之间的强耦合问题。使用场景:集团内部有多个应用,多个应用中都有一个相同的动态共享包。为了节约开发成本并实现代码和资源的共享,多个应用可以共用一个基建HSP(集成态HSP)。

更多关于HarmonyOS鸿蒙Next中hsp包供其他项目使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


要实现相关功能,需将HSP做成集成态HSP,具体请参考文档 :集成态HSP

在HarmonyOS鸿蒙Next中,HSP(HarmonyOS Shared Package)包用于模块间共享代码与资源。通过DevEco Studio创建HSP模块,配置模块的build-profile.json5文件,定义"packageType"为"hsp"。使用时,在依赖方模块的build-profile.json5中添加hsp依赖路径,通过import导入HSP暴露的接口。HSP支持ArkTS/TS语言开发,提供隔离的运行时环境,确保组件独立性与安全共享。

在HarmonyOS Next中,将HSP(Harmony Shared Package)打包后供其他项目使用,需遵循以下步骤:

  1. 配置HSP模块:在模块的build-profile.json5中设置"type": "shared",并声明namedescription等元数据,确保compileSdkVersioncompatibleSdkVersion符合目标项目要求。

  2. 定义导出内容:在HSP的Index.ets文件中使用export明确导出允许外部访问的API、组件或资源。未导出的内容对其他项目不可见。

  3. 构建HSP包:使用DevEco Studio的构建功能生成.hsp文件。可通过Gradle命令(如./gradlew buildHsp)或IDE界面操作完成。

  4. 在依赖项目中引入HSP

    • .hsp文件放置于目标项目的entry或模块目录下(如src/main/resources/rawfile)。
    • 在依赖方的build-profile.json5中添加依赖声明:
      "dependencies": {
        "sharedLibrary": "包名"
      }
      
    • 通过import语句引用导出的接口,例如:
      import { myFunction } from '包名'
      
  5. 权限与版本匹配:确保HSP和目标项目使用相同的SDK版本,避免API兼容性问题。若HSP涉及敏感权限(如网络访问),需在调用方配置相应权限。

注意事项:

  • HSP仅支持静态共享,安装时需确保设备上存在兼容版本。
  • 导出的API需保持稳定,避免频繁变更导致依赖项目中断。
  • 使用DevEco Studio的预览或调试功能验证集成结果。

通过以上流程,HSP可实现跨项目复用代码与资源,提升开发效率。

回到顶部