鸿蒙Next中的App(应用市场分发包)、Hap(模块化安装包)、hsp(动态共享包)、Har(静态共享包)有什么区别
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组件库、通用工具类(如网络请求封装、自定义控件) |
更多关于鸿蒙Next中的App(应用市场分发包)、Hap(模块化安装包)、hsp(动态共享包)、Har(静态共享包)有什么区别的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复