鸿蒙开发5.0案例分析:签名冲突解决方案
·
📝往期推文全新看点(文中附带最新·鸿蒙全栈学习笔记)
🚩 市场巨变,移动开发行业即将迎来“第二春”?
🚩 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🚩 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🚩 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🚩 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🚩 记录一场鸿蒙开发岗位面试经历~
📃 持续更新中……
场景描述
合作开发中,build-profile.json5文件里signingConfigs是每个人自己的签名,导致大家本地始终有个文件无法git add,切分支也受影响。文件里又有其他节点,不能将整个build-profile.json5加入gitignore。
能力说明
hvigor-ohos-plugin插件支持在hvigorfile.ts里接收部分编译配置,以实现动态配置构建配置、并使能到构建的过程与结果中。可以在工程级的hvigorfile.ts的config.ohos中配置的字段:


方案步骤:
一、使用在线签名进行签名

二、建json文件存放签名信息
新建json文件,将build-profile.json5签名配置信息拷贝到json文件上。

三、删除build-profile.json5中signingConfigs信息

四、编写自定义构建任务
通过在hvigorfile.ts里使用函数方法,动态配置签名材料。
//工程级别hvigorfile.ts
import { appTasks } from '@ohos/hvigor-ohos-plugin';
// import * as data from "./data.json"
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中的信息。
点击运行,显示安装成功。

更多推荐

所有评论(0)