鸿蒙多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;
相关推荐
KevinChaos7 小时前
声音明信片实验室 03|HarmonyOS 7.0 音频空间化:双版本试听无缝切换
harmonyos
贾伟康7 小时前
【共创稿事节】HarmonyOS 7.0 Menu菜单与上下文:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
行者-全栈开发8 小时前
Flutter 插件 device_calendar_plus 开源鸿蒙适配实战:从权限弹窗失灵到循环日程跑通
flutter·跨平台·harmonyos·arkts·日历·适配·开源鸿蒙
贾伟康10 小时前
【共创稿事节】HarmonyOS 7.0 BindSheet半模态浮层:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
JosieBook10 小时前
【鸿蒙PC GUI适配】chiaki-ng 移植的工程实践:Qt6/QML 与 ArkUI 的混合窗口架构
华为·架构·harmonyos
Dream-Y.ocean19 小时前
鸿蒙PC平台宅匠 3D 室内设计适配实战:基于 Electron 壳方案的 Three.js 双渲染引擎与参数化户型编辑器开发
javascript·3d·harmonyos
行者-全栈开发19 小时前
【共创稿事节】HarmonyOS 应用上架全流程中的隐私合规:权限最小化、数据本地化与 AppAnalyzer 体检
harmonyos·鸿蒙·隐私合规·应用上架·agc·appanalyzer
贾伟康21 小时前
HarmonyOS API 26 UKey PIN 授权门禁:状态查询、失败归因与资源闭环
华为·harmonyos
Dream-Y.ocean1 天前
鸿蒙PC平台星图遥感适配实战:基于 Electron 壳方案的纯 JavaScript 遥感图像处理引擎开发
javascript·electron·harmonyos
七月稻草人1 天前
鸿蒙平板能当电脑第二块屏幕吗?ToDesk、向日葵镜像/副屏实测
华为·电脑·harmonyos