鸿蒙多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
hvigorw -p product=default -p buildMode=release assembleApp;
hvigorw -p product=default1 -p buildMode=release assembleApp;
hvigorw -p product=default2 -p buildMode=release assembleApp;