HarmonyOS鸿蒙Next中关于应用架构的文件类型问题;feature类型的模块如何导入到entry模块中
HarmonyOS鸿蒙Next中关于应用架构的文件类型问题;feature类型的模块如何导入到entry模块中
-
谁能简单易懂的讲一下har、hsp的区别,以及hsp类型与feature ability类型的区别。在features层中,每个模块建议用feature类型还是hsp,还是说针对场景不同进行选择?
-
feature模块之间的通信,以及feature类型模块与entry模块之间的通信建议通过什么实现(因为entry模块只能依赖har与hsp类型)。
关于导入 直接在依赖中声明即可 然后使用import导入 HAR-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 - 华为HarmonyOS开发者
更多关于HarmonyOS鸿蒙Next中关于应用架构的文件类型问题;feature类型的模块如何导入到entry模块中的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
Feature Ability呢 ,Oh-package 只能依赖har和hsp,
为什么要用ability 你用说的是多HAP架构吧,我一直都用单HAP架构
是的,那我明白了,之前一直纠结特性模块用hap还是har/hsp,感谢,
如果你app size不到 可以使用har,如果你要size优先,可以考虑用hsp,并且hsp支持动态加载,也就是 你打包为app以后,上传应用商店,如果app大小100M, 动态hsp 60M,那么 用户看到应用商店页面是 40M,用户安装以后 也是40M,可以代码中动态进行 加载那60M的hsp
那这60M是从 哪里加载的,从40M的代码本身吗,
HSP分为静态和动态依赖两种,静态会随安装一起;如果你设置为动态依赖,则100M上传到商店,会自动分包,然后用户加载 就是从商店,作为更新包加载的,Stage模型应用程序包结构-应用程序包结构-应用程序包基础知识-开发基础知识-基础入门 - 华为HarmonyOS开发者 详见文档
学习了
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html
模块化设计-应用架构 - 华为HarmonyOS开发者 看一下这个模块设计
在 HarmonyOS Next 应用架构中:
- har(静态共享包)在编译期直接把代码和资源打进引用它的 HAP 中,无法独立更新,适合稳定、无需动态部署的公共库。
- hsp(动态共享包)在运行时由系统按需加载,可独立升级,能被多个 HAP 共享,适合需动态分发、跨模块复用的代码与资源。
- feature ability 类型模块本质是 Ability 类型的 feature 模块,具备独立的 ability,属于应用架构中的业务单元,不能作为 library 直接以依赖形式被 entry 引用(entry 只能依赖 har 与 hsp),需要通过路由或跨 ability 跳转进行通信。
选择建议:feature 层模块若需独立 ability 并支持按需下载/动态分发,使用 feature 类型模块;若仅为业务代码共享且被 entry 打包在一起,用 har;若代码需多个 HAP 共享且要独立升级,则用 hsp。
通信方式:feature 模块间、feature 与 entry 间建议通过 Navigation 路由 + 统一参数传递,或通过 startAbility 携带 want 参数,结合应用内事件或状态管理实现解耦通信,避免直接代码依赖。


