当前位置: 首页 > news >正文

鸿蒙编译构建-多目标产物

此文章内容兼容API12,使用harmony next应用开发

前置概念介绍

1,配置文件介绍:

  • build-profile.json5:modules字段,用于记录工程下的模块信息,主要包含模块名称、模块的源码路径以及模块的 target 信息
  • oh-package.json5:应用的三方包依赖配置文件
  • local.properties: 应用本地环境配置文件
  • obfuscation-rules.txt: 应用模块的混淆规则配置文件
  • consumer-rules.txt: 库模块默认导出的混淆规则文件,会打包到HAR包中;仅支持HAR模块

2,target 和 product:

  • Entry/Feature,构建产物是HAP。一个模块可以定义多个target,每个target对应一个定制的HAP,通过配置可以实现一个模块构建出不同的HAP
  • 鸿蒙工程的构建产物是APP包。一个工程可以定义多个product,每个product对应一个定制化应用包,通过配置可以实现一个工程构建出多个不同的应用包。

工程级build-profile.json5

{
  "app": {
    //必须要有default  ,否则编译时会出现错误。
    "products": [
    ...
      {
        "name": "product_A",
        "signingConfig": "default_test",
        "compatibleSdkVersion": "5.0.1(13)",
        "targetSdkVersion": "5.0.1(13)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {},
        "output": {"artifactName" :  'AppName'},//
        "bundleName": "com.XXX.XXX",//标识应用的Bundle名称,用于标识应用的唯一性
        "vendor": "$string:app_vendor",
        "versionCode": 100000,//标识应用的版本号
        "versionName": "1.0.0",//标识向用户展示的应用版本号。
        "icon": "$media:icon_0000",//图标
        "label": "$string:app_name_0000"//应用名称
      },
    ...
    ]
  }
...
"modules": [
    //--------------公共model————start------------------
    {
      "name": "support",
      "srcPath": "./support",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [    //将定义的target打包到哪一个product中
            "product_A", //将default target打包到product_A APP中 
            "product_B",
          ]
        }
      ]
    }
  ]
}

构建目标产物

单击右上角的 构建
图标,指定需要打包的ProductTarget,然后单击Apply保存。例如选择"ProductA"中,entry模块对应的"free" Target。

  • Product:选择需要构建的 APP 包。
  • Build Mode:选择编译模式。
  • Product Info:该APP包的BundleName和SigningConfig信息。
  • Target Select:选择各个模块的Target,该Target需要包含在定义的Product中才能选择,如果未包含则显示"No Target to apply"
    构建模块

相关文章:

  • Scala循环守卫
  • vi编辑器常见命令
  • stm32第十一天外部中断按键控制灯
  • 自定义类型:结构体
  • 【Java】——数组深度解析(从内存原理到高效应用实践)
  • CentOS 7上手动强制升级docker-compose(不使用yum)
  • 苍穹外卖项目结构
  • Loadrunner报错Virtual User Generator 初始化用户生成器失败 初始化失败
  • AI产品的架构(分四层)
  • ArkUI —— 组件导航
  • zk基础—1.一致性原理和算法二
  • Android:Dialog的使用详解
  • K8S 存储:emptyDir、hostPath、local详解
  • 观察者模式在Java单体服务中的运用
  • 质检LIMS实验室系统在塑料制品的应用 LIMS系统重塑塑料制品质检
  • leetcode hot100 多维动态规划
  • hadoop集群的常用命令
  • 《Spring Boot全栈开发指南:从入门到生产实践》
  • JAVA反序列化深入学习(十一):Spring1
  • 【Pandas】pandas Series to_latex
  • 公司自己做网站流程和备案/百度上做推广怎么做
  • 网站建设协议书/郑州seo优化大师
  • 企业网站建设和管理/学seo网络推广
  • 怎么做百度网站验证码/商业软文代写
  • wordpress the7下载/网站seo需要用到哪些工具
  • 西安做网站多钱/免费舆情网站下载大全最新版