集成态HSP 原创

我不保射手的别打我
发布于 2024-7-8 18:27
浏览
2收藏

集成态HSP

HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。
当前HSP分为两种:

  • 应用内HSP:HSP不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有相同的包名和生命周期。
  • 集成态HSP:构建、发布过程中,不与特定的应用包名耦合;使用时,工具链支持自动将集成态HSP的包名替换成宿主应用包名。

应用内HSP与集成态HSP的区别:(如下表所示)

规格 应用内HSP 集成态HSP
支持在配置文件中声明UIAbility组件和ExtensionAbility组价 不支持 不支持
打包方式 随宿主应用进行打包 编译后可以跨应用进行打包
配置文件 默认方式 在默认方式上添加新的配置

集成态HSP的使用场景

集团内部有多个应用,多个应用中都有一个相同的动态共享包。为了节约开发成本、实现代码和资源的共享,多个应用可以共享一个基建HSP(集成态HSP)。

集成态HSP的使用限制

  • 集成态HSP只支持Stage模型。
  • 集成态HSP需要在API12及以上版本使用,并且使用标准化的OHMUrl格式。

运行环境

本例基于以下环境开发:

  • IDE: DevEco Studio 5.0.3.403
  • SDK: API version 12

集成态HSP的开发

  1. 创建一个新的工程(集成态HSP创建方)。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区
    新增配置,在工程级的目录下build-profile.json5。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区
  2. 新建HSP并进行配置,点击file->New->Moudle。
    新增配置,在HSP模块的目录下build-profile.json5。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区
  3. 获取集成态的编译产物.tgz。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区
    编译打包生成.tgz文件
    集成态HSP-鸿蒙开发者社区
    编译完成后,查看配置文件。将图中所标记的两个配置文件打开并将其格式化处理。
    集成态HSP-鸿蒙开发者社区
    查看两个文件中“bundleName”的值是否为空,若为空,则创建集成态HSP成功。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区

集成态HSP的使用

  1. 创建一个新的工程(集成态HSP使用方)。
    集成态HSP-鸿蒙开发者社区

    新增配置,在工程级的目录下build-profile.json5。
    集成态HSP-鸿蒙开发者社区
    集成态HSP-鸿蒙开发者社区

  2. 调用集成态HSP。
    在工程级目录下创建文件夹lib,将创建集成态HSP工程中集成态HSP的打包产物.tgz文件复制到lib的文件中。
    集成态HSP-鸿蒙开发者社区

  3. 添加依赖。在使用方工程的entry模块下的oh-package.json5配置文件中添加依赖。
    集成态HSP-鸿蒙开发者社区

  4. 安装运行。
    集成态HSP-鸿蒙开发者社区
    效果图(模拟器):
    集成态HSP-鸿蒙开发者社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
2
收藏 2
回复
举报
回复
    相关推荐