鸿蒙多Product配置及打包--添加多个证书配置,打正式包,内测包,限设备安装包等;一键编译打包所有product

鸿蒙多Product配置及打包--添加多个证书配置,打正式包,内测包,限设备安装包等;一键编译打包所有product

一.为不同的product产物配置签名信息

【配置正确的证书,密钥和相关信息!!】

https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-multi-target#section13944162214508


二.build-profile.json5配置

【1.signingConfigs正确添加配置 】

【2.products正确添加配置】

【3.applyToProducts正确添加配置】

复制代码
{
  "app": {
    // 1. 签名配置:定义正式、测试、内测的签名信息
    "signingConfigs": [
      {
        "name": "release", // 正式发布签名
        "type": "HarmonyOS",
        "material": {
          "storeFile": "./cert/release.p12", // 正式私钥文件
          "storePassword": "release_pwd", // 私钥库密码
          "keyAlias": "release_key", // 私钥别名
          "keyPassword": "release_key_pwd", // 私钥密码
          "signAlg": "SHA256withECDSA", // 签名算法
          "profile": "./profile/release.p7b", // 正式Profile
          "certpath": "./cert/release.cer" // 正式证书
        }
      },
      {
        "name": "test", // 测试发布签名
        "type": "HarmonyOS",
        "material": {
          "storeFile": "./cert/test.p12",
          "storePassword": "test_pwd",
          "keyAlias": "test_key",
          "keyPassword": "test_key_pwd",
          "signAlg": "SHA256withECDSA",
          "profile": "./profile/test.p7b", // 测试Profile
          "certpath": "./cert/test.cer"
        }
      },
      {
        "name": "internal", // 限设备内测签名
        "type": "HarmonyOS",
        "material": {
          "storeFile": "./cert/internal.p12",
          "storePassword": "internal_pwd",
          "keyAlias": "internal_key",
          "keyPassword": "internal_key_pwd",
          "signAlg": "SHA256withECDSA",
          "profile": "./profile/internal_test.p7b", // 内部测试Profile(关联设备UDID)
          "certpath": "./cert/internal.cer"
        }
      }
    ],

    // 2. 构建产品:定义不同环境的打包目标
    "products": [
      {
        "name": "release", // 正式发布产品
        "signingConfig": "release", // 关联正式签名
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": { "caseSensitiveCheck": true }
        },
        // 正式环境资源目录(如配置、图片)
        "resourceGroups": [{ "name": "config", "src": "src/main/resources/release" }]
      },
      {
        "name": "test", // 测试发布产品
        "signingConfig": "test", // 关联测试签名
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": { "caseSensitiveCheck": true }
        },
        // 测试环境资源目录
        "resourceGroups": [{ "name": "config", "src": "src/main/resources/test" }]
      },
      {
        "name": "internal", // 限设备内测产品
        "signingConfig": "internal", // 关联内测签名
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": { "caseSensitiveCheck": true }
        },
        // 内测环境资源目录
        "resourceGroups": [{ "name": "config", "src": "src/main/resources/internal" }]
      }
    ],

    // 3. 构建模式:定义debug/release模式(可选)
    "buildModeSet": [
      { "name": "debug" }, // 调试模式(默认)
      { "name": "release" } // 发布模式
    ]
  },

  // 模块配置(如entry模块)
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          // 关联产品:该target适用于所有产品
          "applyToProducts": ["release", "test", "internal"]
        }
      ]
    }
  ]
}

三.多Product打包:一键编译打包所有product

https://developer.huawei.com/consumer/cn/doc/architecture-guides/educate-v1_1-ts_137-0000002396830386

复制代码
hvigorw -p product=default -p buildMode=release assembleApp; 
hvigorw -p product=default1 -p buildMode=release assembleApp; 
hvigorw -p product=default2 -p buildMode=release assembleApp;
相关推荐
Helen_cai7 分钟前
EntryAbility 全局初始化 + 网络请求 HttpUtil 完整源码
网络·华为·harmonyos
SuperHeroWu710 分钟前
【HarmonyOS AI】DevEco CLI、Skills、知识库运用AI Coding提效详解
人工智能·华为·harmonyos
熊猫钓鱼>_>36 分钟前
ArkUI 动画实战:从理论到交互,构建流畅的鸿蒙动效体验
华为·架构·交互·harmonyos·arkts·arkui·native
翰德恩咨询37 分钟前
华为DSTE咨询洞察:如何撬动文化与氛围以支撑战略落地
华为·文化与氛围
Catrice039 分钟前
HarmonyOS ArkTS 实战:实现一个校园宿舍电费查询与分摊应用
华为·harmonyos
2301_768103491 小时前
HarmonyOS趣味相机实战第31篇:图片文档List、详情弹层与删除状态闭环
list·harmonyos·arkts·状态管理·arkui
woshihuanglaoshi1 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
爱写代码的阿木1 小时前
基于鸿蒙OS开发附近社交游戏平台(八)-聊天组件
华为·个人开发·harmonyos
爱写代码的森10 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
世人万千丶11 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙