hap包结构


hap分为两种类型:
entry 和feature,前者为应用的主模块,后者为应用的动态模块;

单hap包:一个entry包,推荐一个uiaility+多个页面
多hap包:一个entry包+多个feature包,每个hap中包含一个uiability组件或一个extensionAbility组件


一个应用包通常会包含多种功能,将每个模块作为一个独立module进行开发。Module中可以包含源代码、资源文件、第三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。在采用多Module设计的应用中,每个Module都会标注所支持的设备类型。有些Module支持全部类型的设备,有些Module只支持某一种或几种类型的设备(比如平板),那么在应用市场分发应用包时,也能够根据设备类型做精准的筛选和匹配,从而将不同的包合理的组合和部署到对应的设备上。


Module按照使用场景可以分为两种类型:
Ability类型的Module: 用于实现应用的功能和特性。每一个Ability类型的Module编译后,会生成一个以.hap为后缀的文件,我们称其为HAP(Harmony Ability Package)包。
Module按照使用场景可以分为两种类型:

entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。每一个应用分发到同一类型的设备上的应用程序包,只能包含唯一一个entry类型的HAP,也可以不包含。
feature类型的Module:应用的动态特性模块,编译后生成feature类型的HAP。一个应用中可以包含一个或多个feature类型的HAP,也可以不包含。


Library类型的Module: 用于实现代码和资源的共享。同一个Library类型的Module可以被其他的Module多次引用,合理地使用该类型的Module,能够降低开发和维护成本。Library类型的Module分为Static和Shared两种类型,编译后会生成共享包。
Static Library:静态共享库。编译后会生成一个以.har为后缀的文件,即静态共享包HAR(Harmony Archive)。
Shared Library:动态共享库。编译后会生成一个以.hsp为后缀的文件,即动态共享包HSP(Harmony Shared Package)。

 

拓展参考:

项目首页 - awesome-hdc:鸿蒙HDC命令合集 - GitCode

【全网最全】鸿蒙 HDC 命令合集 (awesome-hdc)_鸿蒙hdc-CSDN博客

App与Hap、Entry与feature,bundleName与packge,务必弄明白-鸿蒙开发者社区-51CTO.COM

Want概述-信息传递载体Want-Stage模型应用组件-Stage模型开发指导-Ability Kit(程序框架服务)-应用框架 - 华为HarmonyOS开发者

posted @ 2025-05-12 22:13  老禾的账本  阅读(103)  评论(0)    收藏  举报