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

本文详细介绍了HarmonyOS的应用程序包,包括其多Module设计的优势,如模块化开发和多设备适配,以及应用配置文件和资源目录的结构。重点讲解了不同类型的Module(如Ability、Entry、Feature和Library)和编译后的包结构变化。
摘要由CSDN通过智能技术生成

1. 应用程序包概述

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

1.1 多 Module 设计的好处

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

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

1.2 Module 的类型

在这里插入图片描述

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

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

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

2. 应用程序包结构

在这里插入图片描述

2.1 应用的配置文件

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

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

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

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

2.2 资源目录

在这里插入图片描述

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

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

在这里插入图片描述

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

  • ets目录:ArkTS源码编译生成.abc文件。
  • resources目录:AppScope目录下的资源文件会合入到Module下面资源目录中,如果两个目录下的存在重名文件,编译打包后只会保留AppScope目录下的资源文件。
  • module配置文件:AppScope目录下的app.json5文件字段会合入到Module下面的module.json5文件之中,编译后生成HAPHSP最终的module.json文件。
  • 46
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值