鸿蒙开发5.0【基于动态配置签名的多人协同开发应用签名】 解决方案

场景描述

合作开发中,build-profile.json5文件里signingConfigs是每个人自己的签名,导致大家本地始终有个文件无法git add,切分支也受影响。文件里又有其他节点,不能将整个build-profile.json5加入gitignore。

能力说明

hvigor-ohos-plugin插件支持在hvigorfile.ts里接收部分编译配置,以实现动态配置构建配置、并使能到构建的过程与结果中。可以在工程级的hvigorfile.ts的config.ohos中配置的字段:

2

3

方案步骤:

一、使用在线签名进行签名

4

二、建json文件存放签名信息

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

5

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

6

四、编写自定义构建任务

通过在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中的信息。

点击运行,显示安装成功。

7

以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙的完整学习路线,展示如下:
1

除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【基础+实战项目】视频

鸿蒙面经

2

为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!
3

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值