HarmonyOS 鸿蒙Next中HAP包和APP包的区别
App:应用的最终发布包,用于上架华为应用市场
Hap:是应用安装和运行的基本单元,相当于一个app
Har:HAR(Harmony Archive)是静态共享包是静态共享包, 可以包含代码、C++库、资源和配置文件
Hsp:HSP(Harmony Shared Package)是动态共享包,通过HSP可以实现代码和资源的共享,可以包含代码、C++库、资源和配置文件
1. App(应用市场分发包)
应用的最终发布包,用于上架华为应用市场
维度
说明
文件后缀
.app
定义
应用的最终发布包,用于上架华为应用市场
组成
1个或多个HAP(主模块+功能模块) + 可选的HSP(动态共享包)
用途
应用市场分发,用户下载后由市场拆解安装
安装运行
不能直接安装,需通过应用市场解析为HAP/HSP后部署
体积影响
包含所有模块和共享包的完整体积
典型场景
应用发布上架
2. HAP(模块化安装包)
开发阶段的基本功能模块包,用于开发阶段的调试
维度
说明
文件后缀
.hap
定义
开发阶段的基本功能模块包,是应用的组成部分
组成
独立代码/资源/配置(如entry.hap主模块、feature.hap功能模块)
用途
实现模块化开发,支持按需加载
安装运行
可直接安装运行(开发调试阶段)
体积影响
每个HAP独立计算体积,按需加载减少初始包大小
典型场景
多功能拆分(如电商应用的商品模块、支付模块)
3. HSP(动态共享包)
主要用于 元服务(原子化服务)或应用内按需加载的场景
维度
说明
文件后缀
.hsp
定义
动态共享包,支持运行时按需加载的代码/资源/C++库
组成
可共享的组件、工具类、原生库等
用途
主要用于 元服务(原子化服务) 或应用内按需加载的场景,支持动态下载和更新
发布方式
仅支持私有仓库或应用内集成,不可上传至三方库中心仓
安装运行
动态加载(需代码调用接口),可独立更新
体积影响
不增加主包体积,使用时下载
典型场景
元服务动态扩展、多设备协同(如车机/手表共用同一HSP)
4. HAR(静态共享包)
代码复用,统一管理公共组件,用于本地组件复用或者上传至OpenHarmony三方库中心仓
维度
说明
文件后缀
.har
定义
静态共享包,编译时直接打包进应用的公共库
组成
代码/资源/配置文件,需包含oh-package.json5等元数据文件
用途
代码复用,统一管理公共组件
发布方式
可上传至OpenHarmony三方库中心仓(ohpm.openharmony.cn)
安装运行
编译时合并到HAP中,无法动态更新
体积影响
增加主包体积
典型场景
UI组件库、通用工具类(如网络请求封装、自定义控件)