HSP(Harmony Shared Package) 1.HAP(Harmony Ability Package) HAP(Harmony Ability Package)是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。 entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
HSP主要用于多模块的资源、代码段等共用,但是只局限于应用内部或者公司内部的不同应用。HSP在应用打包时仅保留一份,并且不同模块加载时会按需加载HSP。 HAR主要用于二方库或三方库的封装,能够被HAP和HSP依赖和使用,但HAR会被重复打包进HSP和HAP中。 实际使用中应该是这样的: 项目分为多个模块(HAP),每个模块管理自...
当HAR在项目中有被多个模块使用方时,使用它的HAP中都拥有一份相同的HAR编译产物。 HSP:HSP是动态共享包,可以包含代码、C++库、资源和配置文件,作为应用模块的依赖项被引用。相较与HAR,HSP中的代码和资源可以独立编译,运行时与应用在同一个进程中,代码只存在一份。应用安装时HSP将会随HAP依次安装至设备中。 参考...
HAR、HSP不能支持ability、Page声明,限制的理由是什么?后续是否会支持 是否允许HAR的循环依赖 HAP依赖HAR A,HAR A依赖HAR B,HAP能否调用HAR B提供的接口?如果不支持间接依赖HAR,这么设计的原因是什么? 通过resourceManager.getStringResource接口获取HSP资源文件报“Resource id invalid”错误 HAP/HAR/HSP的关系...
HSP(Harmony Shared Package):动态共享包,运行时复用。主要使用场景:多HAP共用的代码或资源,提高代码的可重用性和可维护性。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...当前推荐的是 一个HAP + 多个HAR的形式 有用 回复 ...
HSP HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现应用内的代码和资源的共享。 HSP往往是和 HAP做为对比区分了解。 HSP 是动态共享包 HAR 是静态共享包 项目中,如果其他模块引入了 HAR,那么其他模块中都会存在 一份HAR的拷贝,此时会存在资源冗余。而HSP则是通过多...
- 多包(HAP/HSP)引用相同的HAR时,会造成多包间代码和资源的重复拷贝,从而导致应用包膨大。HSP是...
从HAP的拆包中,我们无法直接看出HAR和HSP的区别。这是因为HAP打包过程中会将所有组件和依赖项整合到一个HAR文件中,而HSP文件是独立的安装包,它们不包含在其他文件中。 如果你想要验证一个文件是否为HAR或HSP,你可以尝试解压该文件以查看其内容。如果解压后得到的是一个完整的Home Assistant系统(包括各种组件和依赖...
HAR:Harmony Archive 静态共享库,用于实现代码和资源的共享。 HSP:Harmony Shared Package 动态共享库,用于实现代码和资源的共享。如果其他模块引入了 HAR,那么其他模块中都会存在 一份HAR的拷贝,此时会存在资源冗余。而HSP则是通过多个模块共享一个引用,资源空间得到利用。 分享 回复 7天前 发布相关...
在日常使用场景中,我们要依据实际业务来创建使用 HAR 还是 HSP,对于单 HAP 来说,两者在选择上其实都可以,但对于多 HAP 的业务,因为在打包时,HAR 会被编译打包到所有依赖该文件的 HAP 和 HSP 包当中,这就需要平衡两者之间的选择。 针对第一个区别,我们不能够通过 pushUrl 的方式进行页面跳转,但鸿蒙还提供了另...