第十六讲_HarmonyOS应用程序包介绍

HarmonyOS应用程序包介绍

  • 1. 应用程序包概述
    • 1.1 多 Module 设计的好处
    • 1.2 Module 的类型
  • 2. 应用程序包结构
    • 2.1 应用的配置文件
    • 2.2 资源目录
  • 3. 应用程序编译后包结构

1. 应用程序包概述

官方推荐基于Stage模型开发HarmonyOS应用程序,一个应用可以包含一个或多个Module

1.1 多 Module 设计的好处

支持模块化开发: 一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。Module 中可以包含源代码、资源文件、第三方库、配置文件等,每一个 Module 可以独立编译,实现特定的功能。

支持多设备适配: 一个应用往往需要适配多种设备类型,在采用多 Module 设计的应用中,每个 Module 都会标注所支持的设备类型。那么在应用市场分发应用包时,也能够根据设备类型做精准的筛选和匹配,从而将不同的包合理的组合和部署到对应的设备上。

1.2 Module 的类型

第十六讲_HarmonyOS应用程序包介绍_第1张图片

  • Ability 类型的 Module:承载应用的功能和特性,是应用安装和运行的基本单元。

    • Entry 类型的 Ability:作为应用的主模块,实现应用入口的功能特性。一个应用只能包含唯一一个 Entry。
    • Feature 类型的 Ability:作为应用的特性模块,实现除 Entry 以外的功能特性。一个应用中可以包含一个或多个 Feature,也可以不含。
  • Library 类型的 Module:共享代码和资源,不能独立安装运行在设备上,只能作为应用的依赖项被引用。

    • Static 类型的 Library:支持应用内共享,也可以发布后供其他应用使用。编译后生成一个.har后缀的文件,多包引用相同的 HAR 时,会导致 App 包膨大。
    • Shared 类型的 Library:当前仅支持应用内共享。编译后生成一个.hsp 后缀的文件,当多包同时引用同一个共享包时,采用 HSP 替代 HAR,可以避免 HAR 造成的多包间代码和资源的重复拷贝,从而减小应用包大小。

2. 应用程序包结构

第十六讲_HarmonyOS应用程序包介绍_第2张图片

2.1 应用的配置文件

AppScope目录下app.json5 配置文件主要包含以下内容:

  • 应用的全局配置信息,包含应用的 Bundle 名称、开发厂商、版本号等基本信息。
  • 特定设备类型的配置信息。

module.json5 配置文件主要包含以下内容:

  • Module 的基本配置信息,包含 Module 名称、类型、描述、支持的设备类型等基本信息。
  • 应用组件信息,包含 UIAbility 组件和 ExtensionAbility 组件的描述信息。
  • 应用运行过程中所需的权限信息。

2.2 资源目录

第十六讲_HarmonyOS应用程序包介绍_第3张图片

  • base目录中的资源文件会被编译成二进制文件,并赋予资源文件 ID。通过指定资源类型(type)和资源名称(name)引用。
  • rawfile 目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件 ID。通过指定文件路径和文件名引用。

3. 应用程序编译后包结构

第十六讲_HarmonyOS应用程序包介绍_第4张图片

编译后,Module中的文件会发生如下变更:

  • ets目录:ArkTS源码编译生成.abc文件。
  • resources目录:AppScope目录下的资源文件会合入到Module下面资源目录中,如果两个目录下的存在重名文件,编译打包后只会保留AppScope目录下的资源文件。
  • module配置文件:AppScope目录下的app.json5文件字段会合入到Module下面的module.json5文件之中,编译后生成HAPHSP最终的module.json文件。

你可能感兴趣的:(harmonyos应用开发,harmonyos,javascript,typescript,ArkTS)