鸿蒙系列--动态共享包的依赖与使用

一、前言

        HarmonyOS的共享包相当于Android的Library,在HarmonyOS中,给开发者提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包

区别:

  • 静态共享包中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝
  • 动态共享包中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份

动态共享包解决的问题:

  • 多个使用方引用相同的共享包,导致的APP包大小膨胀问题
  • 多个使用方引用相同的共享包,共享包中的一些状态变量无法共享的问题

两者的使用场景:

  • 仅用于应用内部代码、资源的共享,建议使用动态共享包
  • 作为应用模块的依赖项被引用,就可以选择静态共享包

二、共享包的创建

File -> New -> Module

有两种共享包,一种是一种是动态共享包Shared Library,一种是静态共享包Static Library

选择一种共享包,点击Next

设置共享包的name,点击Finish,即可完成共享包的创建

动态共享包创建完毕之后,其type类型为【shared】,如果你创建的是静态共享包,这里的类型就是【har】

三、动态共享包添加依赖

动态共享包创建完成之后,有两个Module,主Module【entry】和动态共享包【Common】

如何在【entry】中调用【Common】模块中的代码和资源文件等,需要让【entry】关联依赖上【Common】

要使用HSP中的接口,首先需要在使用方的oh-package.json5中配置对它的依赖

1、依赖方式一

在【entry】中的oh-package.json5文件中,在dependencies中引入共享包【Common】

引入格式:

'folder': "file:../folder"

描述:

  • 后面的folder就是创建的共享包名称,比如这里的Common
  • 前面的folder是用来生成的映射目录,可与共享包名称,也可以自行定义

添加了之后需要同步项目,点击【Sync Now】即可,也可以点击提示信息下的【Run 'ohpm install'

同步之后,该模块就会被映射到Module【entry】的oh_modules目录下

2、依赖方式二

也可以使用@xx/xx来添加依赖

引入格式:

"@xx/xx": "file:../Common"   

比如:import { add } from '@ohos/Common'

同步之后会在oh_modules目录下创建ohos>Common

3、依赖方式三

        除了以上手动方式添加依赖之外,也可以使用命令的方式进行实现,命令行中或在IDE Terminal窗口中,目录进入到主模块下,执行ohpm ins

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值