HarmonyOS 鸿蒙Next中HAP包和APP包的区别

HarmonyOS 鸿蒙Next中 hap包用于开发阶段调试应用、app的包用于上传应用市场

HAP包(Harmony Ability Package)

  • 文件后缀.hap
  • 定位开发阶段的模块化安装包,是鸿蒙应用的基本组成单元。
  • 特点
    • 一个应用可由多个HAP包组成(如主模块entry.hap + 功能模块feature.hap)。
    • 每个HAP包包含独立的代码、资源和配置,支持按需加载。
    • 直接用于真机调试或本地安装(通过hdc工具安装)。
  • 适用场景
    • 开发时单独编译某个模块。
    • 测试特定功能模块。

APP包(Application Package)

  • 文件后缀.app

  • 定位发布阶段的完整应用包,用于上架应用市场。

  • 特点

    • 一个或多个HAP包打包生成(包含所有模块)。
    • 增加了签名信息和元数据,确保安全性。
    • 不能直接安装,需通过应用市场分发后由系统解析安装。
  • 适用场景

    • 正式发布到华为应用市场(AppGallery)。
    • 用户下载安装的最终文件。

更多关于HarmonyOS 鸿蒙Next中HAP包和APP包的区别的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next中HAP包和APP包的区别的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


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