HarmonyOS 鸿蒙Next 签名配置

发布于 1周前 作者 phonegap100 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 签名配置

目前有两个签名秘钥分别对应日常调试和发布上线,如何设置能平常用 DevEco studio run 的时候使用调试签名配置,打包上线时 build -> build app 时能自动使用发布签名配置呢

4 回复
工程级build-profile.json5文件中新增定制product,分别使用不同的签名证书
“products”: [
{
“name”: “default”,
“signingConfig”: “",
“compileSdkVersion”: "”,
“compatibleSdkVersion”: “",
“runtimeOS”: “HarmonyOS”,
},
{
“name”: “useForDebug”,
“signingConfig”: “useForDebug”,
“compileSdkVersion”: "”,
“compatibleSdkVersion”: “",
“runtimeOS”: “HarmonyOS”,
},
{
“name”: “useForRelease”,
“signingConfig”: “useForRelease”,
“compileSdkVersion”: "”,
“compatibleSdkVersion”: “****”,
“runtimeOS”: “HarmonyOS”,
}
]<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

右上角product按钮Product 选择useForDebug 来选择使用调试证书的hap ,选择useForRelease->apply 构建出来的APP 则使用发布证书。default 配置项勿删。
module ,applytoProducts 属性中增加useForDebug,useForRelease 两个参数
“modules”: [
{
“name”: “entry”,
“srcPath”: “./entry”,
“targets”: [
{
“name”: “default”,
“applyToProducts”: [
“default”,
“useForDebug”,
“useForRelease”
]
},
]
}
]<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
import { appTasks, OhosAppContext, OhosPluginId } from '[@ohos](/user/ohos)/hvigor-ohos-plugin';
import { hvigor, getNode } from '[@ohos](/user/ohos)/hvigor'

// 获取根节点 const rootNode = getNode(__filename); // 为根节点添加一个afterNodeEvaluate hook 在hook中修改根目录下的build-profile.json5的内容并使能 rootNode.afterNodeEvaluate(node => { // 获取app插件的上下文对象 const appContext = node.getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext; // 通过上下文对象获取从根目录build-profile.json5文件中读出来的obj对象 const buildProfileOpt = appContext.getBuildProfileOpt(); // 判断启动命令 if (hvigor.isCommandEntryTask(‘assembleHap’)) { buildProfileOpt[‘app’][‘products’][0][‘signingConfig’] = ‘debug’; } else { buildProfileOpt[‘app’][‘products’][0][‘signingConfig’] = ‘release’; } // // 将obj对象设置回上下文对象以使能到构建的过程与结果中 appContext.setBuildProfileOpt(buildProfileOpt); })

export default { system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. / plugins: [] / Custom plugin to extend the functionality of Hvigor. */ }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

判断当前task,若为app,则使用发布证书,其它task,则使用调试证书

HarmonyOS鸿蒙Next签名配置涉及多个关键文件和步骤。以下是对签名配置的专业解答:

关键文件

  1. .p12文件:密钥文件,包含私钥和证书,用于应用签名。
  2. .csr文件:证书签名请求文件,包含公钥及申请者身份信息,用于申请数字证书。
  3. .cer文件:数字证书,由华为AppGallery Connect颁发,用于验证应用签名。
  4. .p7b文件:Profile文件,包含证书链和应用的元数据信息,是应用安装时必需的文件。

配置步骤

  1. 生成密钥和CSR文件:在DevEco Studio中,通过Build > Generate Key and CSR生成.p12密钥文件和.csr证书请求文件。
  2. 申请数字证书:在AppGallery Connect上申请并下载.cer数字证书。
  3. 配置Profile文件:在AppGallery Connect上配置并下载.p7b Profile文件。
  4. 项目签名配置:在项目的build-profile.json5文件中配置签名信息,包括.p12文件、密码、别名等。

注意事项

  • 确保所有文件的路径和密码正确无误。
  • 在多人协同开发中,注意密钥文件的管理和共享。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部