首页 > 其他分享 >HarmonyOS 初体验 (七)了解包结构

HarmonyOS 初体验 (七)了解包结构

时间:2023-12-22 16:25:04浏览次数:22  
标签:文件 初体验 配置文件 Module HarmonyOS 了解 module 应用 HAP

  1. 上一篇
    1. HarmonyOS 初体验 (五)了解UI、应用模型
  2. 应用结构
    1. 结构图

    2. Module
      1. 描述:一个应用包含一个或者多个Module,可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。
      2. Module分为“Ability”和“Library”两种类型
        1. “Library”类型的Module
          1. 对应于HAR(Harmony Archive),或者HSP(Harmony Shared Package)。
        2. “Ability”类型的Module
          1. 对应于编译后的HAP(Harmony Ability Package);
          2. 开发者通过DevEco Studio把应用程序编译为一个或者多个.hap后缀的文件,即HAP。HAP是HarmonyOS应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件。
          3. 类型
            1. Entry类型
              1. 是应用的主模块,在module.json5配置文件中的type标签配置为“entry”类型。在同一个应用中,同一设备类型只支持一个Entry类型的HAP,通常用于实现应用的入口界面、入口图标、主特性功能等。
            2. Feature类型。
              1. 是应用的动态特性模块,在module.json5配置文件中的type标签配置为“feature”类型。一个应用程序包可以包含一个或多个Feature类型的HAP,也可以不包含;Feature类型的HAP通常用于实现应用的特性功能,可以配置成按需下载安装,也可以配置成随Entry类型的HAP一起下载安装(请参见module对象内部结构中的“deliveryWithInstall”)。
      3. Bundle
        1. 描述:每个HarmonyOS应用可以包含多个.hap文件,一个应用中的.hap文件合在一起称为一个Bundle,而bundleName就是应用的唯一标识(请参见app.json5配置文件中的bundleName标签)
        2. 需要特别说明的是:在应用上架到应用市场时,需要把应用包含的所有.hap文件(即Bundle)打包为一个.app后缀的文件用于上架,这个.app文件称为App Pack(Application Package),其中同时包含了描述App Pack属性的pack.info文件;在云端(服务器)分发和终端设备安装时,都是以HAP为单位进行分发和安装的。
      4. 打包后的HAP包

        1. 结构包括ets、libs、resources等文件夹和resources.index、module.json、pack.info等文件。

        2. ets目录用于存放应用代码编译后的字节码文件。

        3. resources目录用于存放应用的资源文件(字符串、图片等),便于开发者使用和维护,详见资源分类与访问
        4. resources.index是资源索引表,由IDE编译工程时生成。
        5. module.json是HAP的配置文件,内容由工程配置中的module.json5和app.json5组成,该文件是HAP中必不可少的文件。IDE会自动生成一部分默认配置,开发者按需修改其中的配置。详细字段请参见应用配置文件
        6. pack.info是Bundle中用于描述每个HAP属性的文件,例如app中的bundleName和versionCode信息、module中的name、type和abilities等信息,由IDE工具生成Bundle包时自动生成。

标签:文件,初体验,配置文件,Module,HarmonyOS,了解,module,应用,HAP
From: https://www.cnblogs.com/zwjvzwj/p/17921837.html

相关文章

  • HarmonyOS 初体验 (五)了解UI、应用模型
    上一篇HarmonyOS初体验(四)项目运行UI设计:ArkUI框架地址HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2基本概念UI:即用户界面。开发者可以将应用的用......
  • 红帽RHCE课程- 2024年1月6日开课~想了解点击查看
    RHCE认证1......
  • HarmonyOS应用事件打点开发指导
     简介传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息。因此,应用开发者需要一种数据打点机制,用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制,用......
  • 三维尺寸中,您需要了解的设备及其特点
    三维尺寸测量需要用到一些精密仪器,它们都有各自的特点。那么三维尺寸测量中常用的设备有哪些?1、三坐标测量机三坐标测量机即三坐标测量计算机数控系统,是一种高精度的测量设备。除了传统的点、线、面和圆柱体等基本轮廓外,还可以测量非常复杂的三维曲面。三坐标测量机操作简单,精度......
  • JVM初了解
    一、JVM常用启动参数说明以-开头为标准参数,所有的JVM都要实现这些参数,并且向后兼容,如-server。-D设置系统属性,如-Dfile.encoding=UTF-8。以-X开头为非标准参数,基本都是传给JVM的,默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容......
  • 深入了解Git LFS:高效管理大型文件的利器
    今天在使用CodeUp上传代码时,我为项目添加了一个大小超过300MB的文件。在进行push操作时,系统提示我“推送失败,以下文件大小超过单文件200MB的系统限额,大文件请使用Git-LFS管理”。于是我开始了解GitLFS。对于需要处理大型二进制文件的项目而言,Git的性能可能成为一个瓶颈。为了解决......
  • Windows 了解一下Windows
    运行1.“运行”这个软件是windows里面经常要用到的工具,它可以通过一些程序的名称快速打开管理程序,以下是常用管理程序,如果你觉得你的记忆能力足够好的话,可以进入C:\windows\system32里面找找所有管理软件并记住他们的名称,然后在运行里面直接使用名称就可以快速打开。taskmg......
  • Java、Kotlin、Flutter、HarmonyOS基本数据类型
    一.Java数据类型基本数据类型整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)1.1整数类型整型是Java中最基本的数据类型之一。它可以用来存储整数值,包括正数、负数和0。Java中的整型有四种类型:byte、short、int和long。byte:占用1个字节,范围从-128......
  • 一篇文章带你了解Python之Selenium自动化爬虫
    Python之Selenium自动化爬虫0.介绍Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器(2018年开发者说暂停开发,chromedriver也可以实现同样的功能)),可以接收指令,让浏览器自动加......
  • 【HarmonyOS】鸿蒙应用安装三方包后,为什么每次同步更新都会将三方包更新成最新版本?
    【关键字】鸿蒙应用三方包安装,ohpm三方包安装 【问题详情】进行鸿蒙应用开发时,我们经常会通过ohpm命令安装三方包实现某些功能,但是可能会存在这种情况:当三方包发布新版本后,点击同步工程,会出现默认更新安装的三方包版本情况;但是因为功能版本兼容问题,我们往往不想升级版本,本篇......