目录
一、HarmonyOS应用程序简介
二、用户应用程序包结构
2.1 结构示意图
2.2 HAP模块类型
2.3 模块介绍
2.3.1 Ability
2.3.2 库文件
2.3.3 资源文件
2.3.4 配置文件
2.3.5 pack.info
2.3.6 HAR
一、HarmonyOS应用程序简介
应用程序泛指运行在操作系统之上,为用户提供特定服务的程序,简称——“应用(Application)”,一般运行在手机和平板电脑上!
HarmonyOS的运行状态有两种:
传统的需要安装的应用
HarmonyOS特定的,免安装的原子化服务
官网关于原子化服务的介绍如下:
原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。
原子化服务基于HarmonyOS API开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。原子化服务相对于传统方式的需要安装的应用形态更加轻量,同时提供更丰富的入口、更精准的分发。
原子化服务由1个或多个HAP包组成,1个HAP包对应1个FA或1个PA。每个FA或PA均可独立运行,完成1个特定功能;1个或多个功能(对应FA或PA)完成1个特定的便捷服务。
原子化服务与传统方式的需要安装的应用对比:
二、用户应用程序包结构
2.1 结构示意图
HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。
如下展示一个HelloWord基础鸿蒙应用程序结构:
2.3.5 pack.info
描述应用软件包中每个HAP的属性,由IDE编译生成,应用市场根据该文件进行拆包和HAP的分类存储。HAP的具体属性包括:
delivery-with-install: 表示该HAP是否支持随应用安装。“true”表示支持随应用安装;“false”表示不支持随应用安装
name:HAP文件名
module-type:模块类型,entry或feature
device-type:表示支持该HAP运行的设备类型
2.3.6 HAR
HAR(HarmonyOS Ability Resources)可以提供构建应用所需的所有内容,包括源代码、资源文件和config.json文件。HAR不同于HAP,HAR不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。