HarmonyOS 鸿蒙开发DevEco Studio:编译构建

目录

HarmonyOS构建体系

工程目录及配置文件说明

工程目录及配置文件(API Version 8)

工程目录及配置文件(API Version 4~7)

如何构建应用/服务

启动应用/服务构建

查看编译过程

查看编译结果


编译构建是将HarmonyOS应用/服务的源代码、资源、第三方库等,通过编译工具转换为可直接在硬件设备上运行的二进制机器码,然后再将二进制机器码封装为HAP/APP软件包,并为HAP/APP包进行签名的过程。其中,HAP是可以直接运行在模拟器或真机设备中的软件包;APP则是用于应用/服务上架到华为应用市场。

HarmonyOS应用/服务支持API Version 4~8,但API Version 4~7与API Version 8在编译构建体系、工程目录及配置文件等存在差异,接下来将为大家详细介绍两者之间的差异。

HarmonyOS构建体系

HarmonyOS应用/服务API Version 4~7和API Version 8的构建工具和构建插件不同。其中,API Version 4~7构建体系是由Gradle构建工具和构建插件组成;API Version 8构建体系是由Hvigor构建工具和构建插件组成。Gradle构建工具作为业界流行的自动化构建开源工具,本章节不再赘述,接下来为大家介绍Hvigor构建体系。

Hvigor构建工具:一款全新基于TS实现的前端构建任务编排工具,结合npm包管理机制,主要提供任务管理机制,任务注册编排、工程模型管理、配置管理等关键能力,更符合HarmonyOS eTS/JS开发者的开发习惯。

构建插件hvigor-ohos-plugin:是基于Hvigor构建工具开发的一个插件,利用Hvigor的任务编排机制实现HarmonyOS应用/服务构建任务流的执行,完成HarmonyOS HAP/APP包的构建打包,应用于HarmonyOS应用/服务的构建。

构建工具和构建插件均为标准的npm包,因此需要在工程级的npm包管理文件package.json文件中相应的版本依赖,示例如下。关于构建工具和构建插件的版本配套关系可参考DevEco Studio版本说明

{
  ...
  "dependencies": {
    "@ohos/hvigor": "1.2.2",
    "@ohos/hvigor-ohos-plugin": "1.2.2"
  }
}

工程目录及配置文件说明

工程目录及配置文件(API Version 8)

HarmonyOS API Version 8基于Hvigor构建体系,DevEco Studio定义了其工程范式,下面是Hvigor构建体系的工程目录结构示意图:

关于Hvigor构建体系中的构建配置文件(build-profile.json5)、构建脚本(hvigorfile.js)、依赖配置(package.json)的详细说明请参考配置编译构建信息
章节。

工程目录及配置文件(API Version 4~7)

HarmonyOS API Version 4~7基于Gradle构建体系,DevEco Studio定义了其工程范式,下面是Gradle构建体系的工程目录结构示意图:

关于build.gradle详细说明请参考配置编译构建信息
章节。

如何构建应用/服务

启动应用/服务构建

通过DevEco Studio构建应用/服务的方式有以下两种:

  • 方式一:通过单击

    按钮,DevEco Studio会启动应用/服务的编译,并将编译后的HAP包部署到设备中。这种方式一般用于应用开发阶段进行应用的调试、功能验证等场景。

  • 方式二:通过DevEco Studio的Build菜单栏的编译选项进行构建,HAP包的构建结果存放于各模块的“build”文件夹下,APP包的构建结果存放于工程的“build”文件夹下。这种方式可以分别编译HAP和APP包,其中HAP可用于安装到设备中进行功能验证,APP包则用于将应用/服务发布到应用市场。

    关于Build菜单下的编译选项说明如下:

    菜单项

    说明

    Build Hap(s)/APP(s) > Build Hap(s)

    对整个工程进行构建,若工程中有多个Module,则编译后会生成多个HAP包。构建的HAP包为debug类型,携带调试信息文件,包括*.js,*.js.map等文件。

    Build Hap(s)/APP(s) > Build APP(s)

    对整个工程进行构建,将工程构建生成一个APP包,如果存在多个模块,APP包会包含多个HAP包,HAP包为Release类型,不包含调试信息文件。

    Make Module

    对工程中当前选择的模块进行构建,只会编译指定的模块名生成HAP、HAR和JAR包。

    Rebuild Project

    对整个工程进行Clean操作后,重新进行构建,生成对应的HAP包。

    Clean Project

    清除构建过程中的缓存文件,以及构建生成的HAP/APP/HAR/JAR包。

    Generate Key and CSR

    用于生成申请调试/发布证书所需要的密钥和证书请求文件。

查看编译过程

启动编译后,您可以在底部工具栏窗口查看编译任务的详细信息,例如执行的编译流程、任务的执行时间等信息。如果在编译构建过程中出现错误,您可以根据编译任务的详细错误说明进行问题的定位。

API Version 4~7工程编译构建示意图如下:

API Version 8工程编译构建示意图如下:

查看编译结果

编译构建成功后,您可以在工程目录中找到对应的编译产物(如APP/HAP包)。

  • HarmonyOS应用/服务API Version 4~7编译构建结果:

  • HarmonyOS应用/服务API Version 8编译构建结果: