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

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

HarmonyOS
2024-06-13 11:32:05
9641浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

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"; 
}``
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.

五、编译打包完成签名

此时,build-profile.json5中不需要再配置签名信息,可以将data.json加入.gitignore,构建任务已经调用本地data.json中的信息。

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

分享
微博
QQ
微信
回复
2024-06-13 22:58:38


相关问题
HarmonyOS 多人开发时,如何配置签名
850浏览 • 1回复 待解决
HarmonyOS 自动签名能否多人共用
659浏览 • 1回复 待解决
抓包应用,求解决方案
2541浏览 • 1回复 待解决
开发疑难问题如下,求解决方案
836浏览 • 1回复 待解决
应用包体积大小优化解决方案
1194浏览 • 1回复 待解决
HarmonyOS代码封装解决方案
1297浏览 • 1回复 待解决
高级图表实现解决方案
1299浏览 • 1回复 待解决
确认网络状况解决方案
1342浏览 • 1回复 待解决
HarmonyOS 通知推送解决方案
780浏览 • 1回复 待解决
HarmonyOS 滚动事件相关解决方案
442浏览 • 1回复 待解决
HarmonyOS事件通信能力解决方案
1575浏览 • 1回复 待解决
HarmonyOS 音频播放组件解决方案
630浏览 • 1回复 待解决
HarmonyOS webrtc同屏功能解决方案
461浏览 • 1回复 待解决
签名证书配置问题有哪些?
1201浏览 • 1回复 待解决
lazyforeach替换数据源解决方案
1384浏览 • 1回复 待解决
HarmonyOS C++模块引用解决方案
1087浏览 • 1回复 待解决