更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 应用开发 > HarmonyOS鸿蒙的HAR和HAP有什么区别,附相关讲解

HarmonyOS鸿蒙的HAR和HAP有什么区别,附相关讲解

更新时间:2021-10-05 09:47:44浏览次数:805+次

经常在HarmonyOS鸿蒙开发文档中看到HAR和HAP名词,不知道这两者之间有什么区别?请看以下讲解。

1、鸿蒙开发人员对HAR和HAP的总结,从中了解到这两者的区别

HarmonyOS的HAR类似Android的jar包,HarmonyOS的HAP类似Android的apk安装包。或者,有网友对比为:HAR类似安卓的aar(鸿蒙暂时没有支持aar包的相关计划),HAP类似安卓打包的.apk文件。

2、HAR简介

HarmonyOS库(HarmonyOS Ability Resources,简称HAR)可以提供应用构建所需的一切内容,包括源代码、资源文件、HarmonyOS配置文件以及第三方库。HAR不同于HAP,HAR不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。

Har包只能被Phone、Tablet、Car、TV和Wearable工程所引用。

3、HAP简介

HarmonyOS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。

一个HAP在工程目录中对应一个Module,它是由代码、资源、第三方库及应用配置文件组成,可以分为Entry和Feature两种类型。

1]、Entry:应用的主模块,可独立安装运行。一个App中,对于同一类型的设备,可以包含一个或多个entry类型的HAP,如果同一设备类型包含多个entry模块,需要配置distroFilter分发规则。

2]、Feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。

HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开,它是由一个或多个Ability组成。Ability分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。

\

注:HAP的后缀名为.hap,它只兼容鸿蒙系统,不能用在安卓系统中。有开发者经常会问有没办法把现有的apk包转换成hap包?对此,鸿蒙官方人员表示:鸿蒙是独立全新的系统,需要使用鸿蒙的API和IDE进行适配,但工作量不大,目前没有直接转换的工具或渠道。

相关参考:鸿蒙HarmonyOS开发术语(英文),将给出它们所代表的意思