鸿蒙Next-开发和本地引用共享包

一、创建库模块

  1. 鼠标移到工程目录顶部,单击右键,选择New > Module,在工程中添加模块。
  2. Choose Your Ability Template界面中,选择Static Library,并单击Next
  3. Configure New Module界面中,设置新添加的模块信息,设置完成后,单击Finish完成创建。
  4. Module name:新增模块的名称。
  5. Device type:支持的设备类型。
  6. Enable native:是否创建一个用于调用C++代码的模块。

二、编译库模块

开发完库模块后,选中模块名,然后通过DevEco Studio菜单栏的Build > Make Module ${libraryName}进行编译构建,生成HAR。HAR可用于工程其它模块的引用,或将HAR上传至ohpm仓库,供其他开发者下载使用。若部分源码文件不需要打包至HAR中,可通过创建.ohpmignore文件,配置打包时要忽略的文件/文件夹。

编译构建的HAR可在模块下的build目录下获取,包格式为*.har。

在编译构建HAR时,请注意以下事项:

  • 编译构建HAR的过程中,不会将模块中的C++代码直接打包进.har文件中,而是将C++代码编译成动态依赖库.so文件放置在.har文件中的libs目录下。
  • 在编译构建HAR的过程中,会生成资源文件ResourceTable.txt,以便编辑器可以对HAR中的资源文件进行联想。因此,如果不使用DevEco Studio对HAR进行构建,则DevEco Studio的编辑器会无法联想HAR中的资源。
  • 如果使用的Hvigor为2.5.0-s及以上版本,在编译构建HAR的过程中,会将dependencies内处于本模块路径下的本地依赖也打包进.har文件中;如果在打包后发现缺少部分本地依赖(如cpp/types目录),请参见FAQ

三、引用本地HAR/HSP包

  • 方式一:在Terminal窗口中,切换到需要引入本地HAR/HSP包的模块,如entry模块,执行如下命令进行安装,并会在oh-package.json5中自动添加依赖。以HAR/HSP包在工程根目录下为例,配置示例如下(实际配置时请以HAR/HSP包实际目录为准):
    • 引用HAR:

      cd path/to/your/project/entry

      ohpm install path/to/package.har

    • 引用HSP(*.tgz包通过HSP模块在release模式下编译生成):

      cd path/to/your/project/entry

      ohpm install path/to/package.tgz

  • 方式二:在需要引入三方包的模块的oh-package.json5中设置本地HAR/HSP包。以HAR/HSP包在工程根目录下为例,配置示例如下(实际配置时请以HAR/HSP包实际目录为准):
    • 引用HAR:

      "dependencies": {

              "package": "file:path/to/package.har" // 此处也可以是以当前oh-package.json5所在目录为起点的相对路径。

      }

      说明

      代码片段中package.har为三方包文件名;"package"为引用该三方包所使用的依赖名称,建议与三方包包名,即三方包的oh-package.json5文件中的name字段保持一致。

    • 引用HSP:

      "dependencies": {

              "package": "file:path/to/package.tgz" // 此处也可以是以当前oh-package.json5所在目录为起点的相对路径

      }

    依赖设置完成后,需要执行ohpm install命令安装依赖包,依赖包会安装在该模块的oh_modules目录下。

    ohpm install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L.2626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值