HarmonyOS 鸿蒙Next应用间hsp打包不支持

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next应用间hsp打包不支持 Install Failed: [Info]App install path:D:\projectCode\HMOS\CP_ActionConnectService_HiScenario_HMOSSDK\scenario\build\default\outputs\default\scenario-default-signed.hsp, queuesize:0, msg:error: failed to install bundle. error: dependent module does not exist. AppMod finish

当前业务的交付件hsp会被多个宿主集成,宿主开放接口,提供给har包给自己时,由于两者包名不一致,签名不同,会导致安装失败,如何解决?


更多关于HarmonyOS 鸿蒙Next应用间hsp打包不支持的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

应用间hsp是api10的能力,api9不支持。

提供方开发

创建工程:

  1. 新建工程,选择Empty Ability
  2. 设置工程名称和BundleName
  3. 新建module,选择Empty Ability即可,如需native开发,可选择Native C++
  4. 设置一个module name
  5. 进入SDK目录,为共享库添加AllowAppShareLibrary特权
  6. 修改API level为10
  7. 按住Ctrl + Alt + Shift + S,为共享库配置自动签名
  8. 修改entry和mylib的runtime为OpenHarmony
  9. 在app.json5中将bundleType设置为shared
  10. 自定义共享库的版本号
  11. 修改mylib的编译类型为hsp
  12. 修改module类型为shared,删除多余的mainElement和abilities标签,以及ability代码
  13. 如需开发native代码,还需要配置libIsolation为true

编写代码

  1. 编写ts、UI、native代码
  2. 接口导出:在ets目录下新建index.ets,统一导出需要共享的接口
  3. oh-package.json5文件中指定共享库的入口

编译

  1. hvigor版本调整为3.0.0-rc.8(临时方案,正式方案不需要)

    如果安装失败,打开任务管理器,关闭所有nodejs进程,重新安装

  2. 选中mylib目录,点击菜单中的编译按钮

  3. 编译产物包含har包和hsp包

安装

将编译生成的hsp文件推送到开发板,在hdc shell中执行 bm install -s xxx.hsp 即可安装

(安装成功后可以通过 bm dump-shared -a 查看已安装的应用间HSP的包名)

使用方开发

创建工程

同普通应用,API level需要为10,runtime为OpenHarmony

导入共享库

  1. 将提供方开发–编译第3节 编译产物中的mylib.har放置到目标module中
  2. 在oh-package.json5中配置依赖

使用共享库

编译、打包、安装

  1. 修改hvigor版本号为 3.0.0-rc.8(临时方案,正式方案不需要)

  2. 修改hvigor(临时方案,正式方案不需要):Ctrl + 鼠标左键 点击build-profile.json5中任意字段,进入hvigor目录

    找到process-profiles.js文件,删除e.module.dependencies = this._dependencies

    最后重启hvigor:在工程根目录执行./hvigorw --stop-daemon

    如果重启还不行,就重启下电脑,再重新编译

  3. 配置dependencies(临时方案,正式方案不需要):配置应用间共享库的bundleName、moduleName和versionCode

  4. 按普通应用方式编译打包,确保依赖的共享库都已安装后,执行hdc install xxx.hap即可安装

    如果安装报错误,可以bm dump-shared -a 确认下依赖的应用间HSP是否已安装。

更多关于HarmonyOS 鸿蒙Next应用间hsp打包不支持的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


有详细的文档吗?按照说的步骤下来行不通。 目前sdk是open 13,

针对帖子标题“HarmonyOS 鸿蒙Next应用间hsp打包不支持”的问题,以下是专业且直接的回答:

HarmonyOS(鸿蒙)Next版本中,若遇到应用间hsp(HarmonyOS Service Package,鸿蒙服务包)打包不支持的情况,这通常意味着当前的系统版本或开发工具链尚未完全适配该特性。hsp作为鸿蒙系统的一种服务封装机制,旨在促进应用间的服务共享与调用。若不支持打包,可能是因为:

  1. 版本不兼容:当前使用的鸿蒙系统版本可能不支持hsp打包功能,或者该功能在Next版本中尚未开放给所有开发者。
  2. 工具链问题:开发工具(如DevEco Studio)可能未更新到支持hsp打包的版本。
  3. 配置错误:项目配置中可能缺少必要的设置,导致hsp打包功能无法启用。

解决方法包括但不限于:

  • 检查版本:确认鸿蒙系统版本及开发工具版本是否支持hsp打包。
  • 查阅文档:参考鸿蒙官方文档,了解hsp打包的详细要求与步骤。
  • 更新工具:确保开发工具为最新版本,以支持新特性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部