HarmonyOS基础精品wiki

432 阅读3分钟

应用模型解读Stage模型开发概述

  • 应用模型构成要素包括:应用组件、应用进程模型、应用线程模型、应用任务管理模型、应用配置文件
  • 鸿蒙包括FA和Stage两种应用模型,Stage是之后的主推,我们只需要学Stage模型就可以

Stage模型概念图

image.png

Stage模型应用程序包结构

开发态时的Module与UIAbility组件关系示意图

  1. 一个应用包含一个或者多个Module
  2. Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行
  3. Module分为“Ability”和“Library”两种类型
  • “Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);
  • “Library”类型的Module对应于HAR(静态库)(Harmony Archive),或者HSP(动态库)(Harmony Shared Package)。

一个Module可以包含一个或多个UIAbility组件

image.png

应用程序包结构(Stage模型)

  1. 每个HarmonyOS应用可以包含多个.hap文件,一个应用中的.hap文件合在一起称为一个Bundle,而bundleName就是应用的唯一标识
  2. HAP是HarmonyOS应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件。HAP可分为Entry和Feature两种类型共享包概述
  • Entry类型的HAP:是应用的主模块,在module.json5配置文件中的type标签配置为“entry”类型。在同一个应用中,同一设备类型只支持一个Entry类型的HAP,通常用于实现应用的入口界面、入口图标、主特性功能等。
  • Feature类型的HAP:是应用的动态特性模块,在module.json5配置文件中的type标签配置为“feature”类型。一个应用程序包可以包含一个或多个Feature类型的HAP,也可以不包含;Feature类型的HAP通常用于实现应用的特性功能,可以配置成按需下载安装,也可以配置成随Entry类型的HAP一起下载安装
  1. 打包后的HAP包结构包括ets、libs、resources等文件夹和resources.index、module.json、pack.info等文件 image.png

多HAP构建视图

image.png

IDE开发态视图

AppScope目录

  1. app.json5: 配置应用全局描述信
  2. resources目录:放置应用的图标资源和应用名称字符串资源。该文件夹名字不可更改 entry或者feature目录
  3. resources目录:放置该Module中所使用到的资源
  4. ets目录:开发者的业务逻辑
  5. module.json5:配置该Module的描述信息

编译打包后的视图

  1. 一个开发态的Module编译后生成一个部署态的HAP,Module和HAP一一对应。
  2. HAP中的module.json由开发视图中的app.json5和module.json5合成。
  3. 所有的HAP最终会编译到一个App Pack中(以.app为后缀的包文件),用于发布到应用市场

多HAP的开发调试与发布部署流程

image.png

HAR和HSP在APP包中的形态示意图

image.png

应用程序包快速修复

快速修复包结构

image.png

image.png

image.png