HarmonyOS鸿蒙Next中多目标构建方式的依赖模式如何进行,比如release/debug模式,以及模块产物和源码依赖方式

HarmonyOS鸿蒙Next中多目标构建方式的依赖模式如何进行,比如release/debug模式,以及模块产物和源码依赖方式 多目标构建方式的依赖模式:比如release/debug模式,另外就是模块产物和源码依赖方式

需要在构建不同的HAR的时候,希望能够使用不同的依赖(dependencies),但目前看到的这个依赖只能在oh-package.json5里面配置

3 回复

编译模式可以单击右上角的小圆点的图标,Build Mode选项选择编译模式。

DevEco Studio支持通过少量的代码配置以实例化不同的差异版本,在编译构建过程中实现一个应用构建出不同的目标产物版本,从而实现源代码、资源文件等的高效复用。

工程内的每一个Entry/Feature模块,对应的构建产物为HAP,HAP是应用/服务可以独立运行在设备中的形态。由于在不同的业务场景中,同一个模块可能需要定制不同的功能或资源,因此引入target 的概念。一个模块可以定义多个target,每个target对应一个定制的HAP,通过配置可以实现一个模块构建出不同的HAP。

具体可参考官网文档相关介绍:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-customized-multi-targets-and-products-guides-0000001731595144-V5#section2554174114463

ohpm对于依赖的控制有两种方式

1、overrides主要是方便将依赖树中的依赖替换为另一个版本,在使用时需要将overrides字段添加到项目级oh-package.json5 文件中,overrides方式可用于统一的管理依赖和解决版本冲突问题

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-oh-package-json5-V5#zh-cn_topic_0000001792256137_overrides

2、parameterFile方式:参数化配置功能。开发者可在项目根目录配置一个参数化文件(json格式文件),并在该文件中维护模块或依赖版本信息,不同模块将根据该文件中的版本进行配置。新建参数化文件并在文件中添加需要的字段,在项目级的oh-package.json5 文件中进行配制使用

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-oh-package-json5-V5#section122411462820

更多关于HarmonyOS鸿蒙Next中多目标构建方式的依赖模式如何进行,比如release/debug模式,以及模块产物和源码依赖方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,多目标构建方式的依赖模式主要通过build-profile.json文件进行配置。该文件定义了不同构建目标(如release/debug)的依赖关系。

  1. Release/Debug模式配置:在build-profile.json中,通过targets字段指定不同的构建目标。每个目标可以配置不同的依赖项、编译选项和输出路径。例如:

    {
      "targets": {
        "release": {
          "dependencies": {
            "moduleA": "1.0.0",
            "moduleB": "2.0.0"
          },
          "compilerOptions": {
            "optimize": true
          },
          "outputPath": "dist/release"
        },
        "debug": {
          "dependencies": {
            "moduleA": "1.0.0",
            "moduleB": "2.0.0"
          },
          "compilerOptions": {
            "debug": true
          },
          "outputPath": "dist/debug"
        }
      }
    }
    
  2. 模块产物依赖:模块产物依赖是指依赖已构建的模块输出文件。在dependencies字段中,可以通过指定模块的版本号来引用已构建的模块。例如:

    "dependencies": {
      "moduleA": "1.0.0"
    }
    
  3. 源码依赖:源码依赖是指直接依赖模块的源代码进行构建。在dependencies字段中,可以通过指定模块的路径来引用源码。例如:

    "dependencies": {
      "moduleA": "./path/to/moduleA"
    }
    
  4. 构建脚本:在构建脚本中,可以使用hb build命令指定构建目标。例如:

    hb build --target release
    

通过上述配置,可以在HarmonyOS鸿蒙Next中实现多目标构建方式的依赖模式管理。

在HarmonyOS鸿蒙Next中,多目标构建的依赖模式主要通过build.gradle文件配置实现。对于releasedebug模式,可以通过buildTypes区分,并分别定义依赖项。模块产物依赖通常通过apiimplementation声明,源码依赖则使用project关键字。例如:

buildTypes {
    release {
        // 配置release模式
    }
    debug {
        // 配置debug模式
    }
}

dependencies {
    implementation project(':moduleA') // 源码依赖
    implementation 'com.example:library:1.0.0' // 模块产物依赖
}
回到顶部