> 技术文档 > 【HarmonyOS Next之旅】DevEco Studio使用指南(三十四) -> 配置构建(一)_deveco studio generate all build profiles

【HarmonyOS Next之旅】DevEco Studio使用指南(三十四) -> 配置构建(一)_deveco studio generate all build profiles

目录

1 -> 多模块配置

1.1 -> 静态配置模块

1.2 -> 动态配置模块

2 -> 分模块编译

3 -> 添加依赖项

3.1 -> 远程三方

3.2 -> 本地文件

3.3 -> 本地HAR/HSP包


1 -> 多模块配置

1.1 -> 静态配置模块

工程级build-profile.json5配置文件中\"modules\"字段,用于记录工程下的模块信息,主要包含模块名称、模块的源码路径以及模块的 target 信息。

例如以下目录中存在两个模块目录,您可在工程下的build-profile.json5配置文件,添加模块信息,使得模块与工程进行绑定:

其他配置文件:

  • oh-package.json5:应用的三方包依赖配置文件
  • local.properties: 应用本地环境配置文件
  • obfuscation-rules.txt: 应用模块的混淆规则配置文件
  • consumer-rules.txt: 库模块默认导出的混淆规则文件,会打包到HAR包中;仅支持HAR模块

工程下的build-profile.json5文件中模块配置示例:

{ \"modules\": [ { \"name\": \"module1\", // 模块的名称。该名称需与module.json5文件中的module.name保持一致。在FA模型中,对应的文件为config.json。 \"srcPath\": \"./module1\" // 模块的源码路径,为模块根目录相对工程根目录的相对路径 }, { \"name\": \"module2\", \"srcPath\": \"./module2\" } ]}

1.2 -> 动态配置模块

Hvigor支持在hvigorconfig.ts脚本中动态添加或排除某个模块。

2 -> 分模块编译

Hvigor支持分模块编译和打包。您可以通过以下两种方式进行分模块构建:

  • 在DevEco Studio中,选中需构建的模块目录后,点击Build菜单栏下的\"Make module \'module1\'\",其中\"module1\"根据具体工程模块名称显示;
  • 在DevEco Studio的Terminal中,指定模块进行编译。比如模块类型为entry,目标产物target为default,构建HAP模块,可执行以下命令:

hvigorw --mode module -p product=default -p module=module1@default assembleHap

3 -> 添加依赖项

应用/元服务支持通过包管理工具ohpm来安装、共享、分发代码,管理项目的依赖关系。本文介绍了在项目中如何添加依赖项。

您可在工程或模块下的oh-package.json5文件中的dependencies(生产依赖)/devDependencies(开发依赖)字段中指定依赖项,以上两种依赖字段均支持引用远程三方包、本地文件夹和本地HAR/HSP三种方式。oh-package.json5文件中的dynamicDependencies(动态依赖)仅限于动态依赖HSP的使用场景。以下配置以dependencies为例。

3.1 -> 远程三方包

在需要引入三方包的模块的oh-package.json5文件中设置三方包依赖,配置示例如下:

\"dependencies\": { \"@ohos/lottie\": \"^2.0.0\"}

3.2 -> 本地文件夹

在模块的oh-package.json5文件中设置本地文件夹,配置示例如下:

\"dependencies\": { \"folder\": \"file:../folder\"}

3.3 -> 本地HAR/HSP包

  • 引用HAR:
\"dependencies\": { \"package\": \"file:../package.har\"}
  • 引用HSP(仅在release模式下,构建HSP会生成tgz包):
\"dependencies\": { \"package\": \"file:../package.tgz\"}

依赖设置完成后,需要执行ohpm install命令安装依赖包,依赖包会存储在对应模块的oh_modules目录下。


感谢各位大佬支持!!!

互三啦