HarmonyOS 鸿蒙Next 多人开发时签名问题
HarmonyOS 鸿蒙Next 多人开发时签名问题
多人开发同一个项目时会遇到签名文件管理问题。不管是自动生成还是手动生成的,每个开发者的保存路径可能都不一样。这样每次拉取代码时 build-profile.json5
文件都会冲突。请问有什么好的解决办法?
可以参考基于动态配置签名的多人协同开发应用签名解决方案
场景描述 : 合作开发中,build-profile.json5文件里signingConfigs是每个人自己的签名,导致大家本地始终有个文件无法git add,切分支也受影响。文件里又有其他节点,不能将整个build-profile.json5加入gitignore。
能力说明:hvigor-ohos-plugin插件支持在hvigorfile.ts里接收部分编译配置,以实现动态配置构建配置、并使能到构建的过程与结果中。
方案步骤:
一、使用在线签名进行签名
二、建json文件存放签名信息
新建json文件(data.json),将build-profile.json5签名配置信息拷贝到json文件上。
{
"name": "default",
"type": "HarmonyOS",
"material": {
"certpath": "C:\\Users\\.ohos\\config\\default_MyApplication005_14nuvjLrUWwf08ogsBFTql9u4eSrsdRrsQ1AT0Qjzt0=.cer",
"storePassword": "0000001B1F4BCC33D92352CBE39C6EB124C1249D3F537E716DE475F0039CF06816285CCED2F71A011791D2",
"keyAlias": "debugKey",
"keyPassword": "0000001B4D20F110A05BD4A3AC96D9696EB79CB3B168DEF3FA5B7F911A0C24DE6E7E339DA6FD7D330D4A75",
"profile": "C:\\Users\\.ohos\\config\\default_MyApplication005_14nuvjLrUWwf08ogsBFTql9u4eSrsdRrsQ1AT0Qjzt0=.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "C:\\Users\\*****\\.ohos\\config\\default_MyApplication005_14nuvjLrUWwf08ogsBFTql9u4eSrsdRrsQ1AT0Qjzt0=.p12"
}
}
三、删除build-profile.json5中signingConfigs信息
四、编写自定义构建任务
通过在hvigorfile.ts里使用函数方法,动态配置签名材料。
//工程级别hvigorfile.ts
import { appTasks } from '@ohos/hvigor-ohos-plugin';
import * as data from "./data.json"
export default {
system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins: [], /* Custom plugin to extend the functionality of Hvigor. */
config: {
ohos: {
overrides:{
signingConfig: getSigningConfig(), //签名配置对象
appOpt: {
versionCode: getVersionCode(),
versionName: getVersionName(),
} //app.json中的内容
}
}
}
}
function getSigningConfig() {
return {
type: "HarmonyOS",
material: {
certpath: data.certpath,
storePassword: data.storePassword,
keyAlias: data.keyAlias,
keyPassword: data.keyPassword,
profile: data.profile,
signAlg: data.signAlg,
storeFile: data.storeFile
}
}
}
function getVersionCode() {
return 100000;
}
function getVersionName() {
return "1";
}
五、编译打包完成签名
此时,build-profile.json5中不需要再配置签名信息,可以将data.json加入.gitignore,构建任务已经调用本地data.json中的信息。
点击运行,显示安装成功
更多关于HarmonyOS 鸿蒙Next 多人开发时签名问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)Next系统中,多人开发时面临的签名问题主要涉及应用签名的一致性和安全性。鸿蒙系统为了保证应用的安全性和完整性,要求每个应用都必须经过数字签名。这个签名在应用的开发、测试、发布等各个环节中都是必须的,并且需要保持一致。
在多人开发环境中,通常会有一个统一的签名证书用于所有开发者的开发环境。这个证书需要妥善保管,并且只能由授权的人员使用。每个开发者在构建应用时,都需要使用这个统一的签名证书进行签名。
如果签名出现问题,可能是由以下几个原因造成的:
- 签名证书不一致:确保所有开发者使用的是同一个签名证书。
- 证书密码错误:检查签名证书的密码是否正确输入。
- 证书有效期已过:检查签名证书是否还在有效期内。
- 签名工具或配置问题:确保使用的签名工具是鸿蒙系统支持的,并且配置正确。
解决这些问题的方法是,确保所有开发者都了解签名的流程和规范,使用统一的签名证书和密码,并且定期检查证书的有效期。同时,也可以考虑使用自动化工具来管理签名过程,以减少人为错误的可能性。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html