HarmonyOS鸿蒙Next中在build.json5文件中配置了defalut和Release签名,但是打包进行上架自检的时候,没有那个Release选项,只有defalut的,想知道如何根据实际情况切换defalut和Release进行打包。
HarmonyOS鸿蒙Next中在build.json5文件中配置了defalut和Release签名,但是打包进行上架自检的时候,没有那个Release选项,只有defalut的,想知道如何根据实际情况切换defalut和Release进行打包。 在build.json5文件中配置了defalut和Release签名,但是打包进行上架自检的时候,没有那个Release选项,只有defalut的,想知道如何根据实际情况切换defalut和Release进行打包。
可参考上架打包配置: https://developer.huawei.com/consumer/cn/forum/topic/0201173098758518182?fid=0109140870620153026

更多关于HarmonyOS鸿蒙Next中在build.json5文件中配置了defalut和Release签名,但是打包进行上架自检的时候,没有那个Release选项,只有defalut的,想知道如何根据实际情况切换defalut和Release进行打包。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
背景知识:
打包之前需要注意签名、产品类别、构建模式、打包、查看是否是release包
问题解决:
- 签名:
最后获得:

去Project Structure 下配置证书:
配置到根build-profile.json5文件中:

- 产品类别

上诉可以在根build-profile.json5配置多个,确定不同的signingConfig参数

- 构建模式
选择release版本

- 打包
发布选择app形式:
.
- 查看是否是release包
通过查询打出来的app包里面的hap下面的module.json文件的debug=false

先在这里配置好,紧接着在


打包的时候选择选下这个,以及旁边的 Build Mode,就可以了。
希望HarmonyOS能继续推出更多实用的功能,满足用户的不同需求。
你好,构建时使用哪个签名,由 build-profile.json5 中 products 里的 “signingConfig”: “default” 确定,所以在打包时,可以将 “default” 改为 “Release”。
也可以尝试根据不同的部署环境、目标人群和运行环境,定制构建多目标产物,将同一应用定制为不同版本。
在HarmonyOS Next中,若打包时仅显示default签名选项,通常是因为未正确配置Release构建类型。请检查build.json5文件,确保在"buildMode"中已明确定义Release模式,并关联对应的签名配置。同时,确认在DevEco Studio的构建配置中选择了Release方案。
在HarmonyOS Next中,build.json5文件中的签名配置需要与构建模式(buildMode)正确关联,才能在打包时出现对应的签名选项。
根据你的描述,问题很可能在于构建模式与签名配置的映射关系未正确设置。请按以下步骤检查和操作:
1. 检查 build.json5 中的签名配置
确保你的 signingConfigs 部分已正确配置了 default 和 release 两个配置项,并且 release 配置项的名称(例如 "release")与你期望的完全一致。
一个典型的配置示例如下:
"signingConfigs": [
{
"name": "default",
"material": {
"certpath": "sign/default.cer",
"storePassword": "xxxxxx",
"keyAlias": "xxxxxx",
"keyPassword": "xxxxxx",
"storeFile": "sign/default.p12",
"profile": "sign/default.p7b",
"signAlg": "SHA256withECDSA"
}
},
{
"name": "release", // 注意此名称
"material": {
"certpath": "sign/release.cer",
"storePassword": "xxxxxx",
"keyAlias": "xxxxxx",
"keyPassword": "xxxxxx",
"storeFile": "sign/release.p12",
"profile": "sign/release.p7b",
"signAlg": "SHA256withECDSA"
}
}
]
2. 检查构建模式(buildProfiles)与签名的映射
关键在于 buildProfiles 部分。你需要为不同的构建模式(如 debug、release)指定对应的签名配置名称。
在 buildProfiles 下的每个配置中,找到 signingConfig 字段,确保其值与你为 release 签名配置设置的 name(例如 "release")相匹配。
"buildProfiles": [
{
"name": "debug", // 调试模式
"signingConfig": "default" // 使用名为"default"的签名配置
},
{
"name": "release", // 发布模式
"signingConfig": "release" // 使用名为"release"的签名配置
}
]
3. 在DevEco Studio中切换构建模式进行打包
配置正确后,在DevEco Studio中进行打包时,你需要通过切换 构建变体(Build Variant) 来选择不同的签名。
- 通常在IDE的底部或侧边栏可以找到 Build Variants 工具窗口。
- 在
buildProfile下拉选项中,选择release(对应上面配置的发布模式)。 - 当你选择了
release构建模式后,打包流程会自动关联并使用buildProfiles中release模式所指定的signingConfig,即你配置的release签名。
总结
核心流程是:选择构建模式(如release) -> 该模式映射到特定的签名配置名称(如"release") -> 使用该名称对应的具体签名材料进行打包。
请重点核对 build.json5 中 signingConfigs 里 release 配置的 name 字段值,与 buildProfiles 中 release 模式下的 signingConfig 字段值是否完全一致。两者必须匹配,才能在打包自检时出现 Release 签名选项。

