HarmonyOS 鸿蒙Next 如何引用一个本地的HSP包

HarmonyOS 鸿蒙Next 如何引用一个本地的HSP包

  1. 我在本地先创建了一个项目MyApplicationCPP,然后在这个项目里新建了一个HSP模块libraryshare,这个HSP里导出了两个函数
  2. 我在本地另外创建了一个项目Client,然后在项目的oh-package.json5文件和entry模块下的oh-package.json5都引入了这个本地的依赖

执行Client项目的依赖安装(ohpm install)和编译运行,提示依赖没有被安装

但是查看项目entry目录的oh_modules文件夹下是有libarayshare这个模块的(也就是其实已经install成功了)

  1. 查看文档发现需要在运行配置页,选择Deploy Multi Hap标签页,勾选Deploy Multi Hap Packages,选择依赖的模块,点击OK保存配置,再进行运行/调试

  2. 但问题是,在IDE的运行配置页上根本没有libarayshare这个模块的选项


更多关于HarmonyOS 鸿蒙Next 如何引用一个本地的HSP包的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

楼主这个问题解决了没有,我也是这样跨项目引入,但是直接报错RROR: E:\as_harmony\library\BasicUtils\src\main\module.json: ENOENT: no such file or directory, open ‘E:\as_harmony\library\BasicUtils\src\main\module.json’

更多关于HarmonyOS 鸿蒙Next 如何引用一个本地的HSP包的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你是不是创建本地包的时候选错了

是不是创建完library share后没有编译呀

cke_680.png

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

已经编译了的,怀疑是HSP的特性,官方文档有说HSP不支持跨应用导入,可能只能引入HAR,

我在一个应用内引入HSP是好使的,

啊?是引入别的项目的HSP吗,

在HarmonyOS(鸿蒙Next)中引用本地HSP(HarmonyOS Shared Package)包,可以通过在module.json5文件中配置依赖项来实现。具体步骤如下:

  1. 创建HSP包:首先确保你已经创建了一个HSP包,并且该包已经编译生成.hsp文件。

  2. 放置HSP包:将生成的.hsp文件放置在你的项目目录中,通常是entry/src/main/resources/base/profile目录下。

  3. 配置module.json5:在你的模块的module.json5文件中,添加对本地HSP包的依赖。示例如下:

{
  "module": {
    "name": "entry",
    "dependencies": [
      {
        "bundleName": "com.example.myhsp",
        "type": "hsp",
        "path": "resources/base/profile/myhsp.hsp"
      }
    ]
  }
}

其中,bundleName是HSP包的名称,type指定为hsppath是HSP包在项目中的相对路径。

  1. 同步项目:配置完成后,同步项目以确保依赖项正确加载。

通过以上步骤,你就可以在HarmonyOS项目中成功引用本地的HSP包。

回到顶部