HarmonyOS 鸿蒙Next 签名配置
HarmonyOS 鸿蒙Next 签名配置
目前有两个签名秘钥分别对应日常调试和发布上线,如何设置能平常用 DevEco studio run 的时候使用调试签名配置,打包上线时 build -> build app 时能自动使用发布签名配置呢
“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签名配置涉及多个关键文件和步骤。以下是对签名配置的专业解答:
关键文件
- .p12文件:密钥文件,包含私钥和证书,用于应用签名。
- .csr文件:证书签名请求文件,包含公钥及申请者身份信息,用于申请数字证书。
- .cer文件:数字证书,由华为AppGallery Connect颁发,用于验证应用签名。
- .p7b文件:Profile文件,包含证书链和应用的元数据信息,是应用安装时必需的文件。
配置步骤
- 生成密钥和CSR文件:在DevEco Studio中,通过Build > Generate Key and CSR生成.p12密钥文件和.csr证书请求文件。
- 申请数字证书:在AppGallery Connect上申请并下载.cer数字证书。
- 配置Profile文件:在AppGallery Connect上配置并下载.p7b Profile文件。
- 项目签名配置:在项目的build-profile.json5文件中配置签名信息,包括.p12文件、密码、别名等。
注意事项
- 确保所有文件的路径和密码正确无误。
- 在多人协同开发中,注意密钥文件的管理和共享。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。