2025-12-05 11:40:43

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组件库、通用工具类(如网络请求封装、自定义控件)

3-2,日本首胜巴西没啥稀奇,森保一赛后话里有门道,冷静还留了后手
氢互动打造实效型移动内容营销解决方案,领跑大数据营销行业