章
目
录
本文主要讲解关于HarmonyOS开发:探索动态共享包的依赖与使用相关内容,让我们来一起学习下吧!
前言
所谓共享包,和Android中的Library本质是一样的,目的是为了实现代码和资源的共享,在HarmonyOS中,给开发者提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。
两者的区别是,HAR静态共享包中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP动态共享包中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份,如下图所示:
之所以会出现HSP动态共享包,目的主要解决如下问题:
- 1、多个HAP引用相同的HAR,导致的APP包大小膨胀问题。
- 2、多个HAP引用相同的HAR,HAR中的一些状态变量无法共享的问题。
如果说,仅用于应用内部代码、资源的共享,建议使用动态共享包,如果想作为应用模块的依赖项被引用,就可以选择静态共享包,在之后得开发中,大家可以根据实际的业务需求进行选择性使用。
1、如何创建一个共享包
参考文章《HarmonyOS开发:如何创建一个共享包》
2、动态共享包(library)手动依赖
参考文章《HarmonyOS开发:如何手动依赖动态共享包(library)》
3、动态共享包用命令方式依赖
参考文章《HarmonyOS开发:如何使用指令方式依赖动态共享包 》
4、动态共享包多种方式调用
参考文章《HarmonyOS开发:动态共享包多种调用方式》
5、动态共享包注意事项
对外暴露的接口,需要在共享包入口文件index.ets中声明,否则,其他模块无法调用,都是固定的模式,比如上述的add方法,和自定义的组件等,切记!!!
同一个类中的,如果多个方法,可以复用,比如:
export { Log, add, minus } from './utils/test'
如果无法运行,报如下错误,请返回第4小节中的方法调用小节,查看完整的解决方式。
6、总结
还是那句话,如果说,仅用于应用内部代码、资源的共享,建议使用动态共享包,如果想作为应用模块的依赖项被引用,就可以选择静态共享包。
以上就是关于HarmonyOS开发:动态共享包的依赖方式实现与使用相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客,学习愉快哦!