HarmonyOS 工程签名如何管理

目前使用的是华为开发账号进行签名:

签名信息保存在build-profile.json5文件中。

问题:

不同开发人员使用的华为开发账号不同,因此每个开发的build-profile.json5文件是不同的,然而这个文件包含了module等编译信息,因此需要提交到git仓上。

就带来一个问题:开发者每次update git仓的时候都会把别人的build-profile.json5下载下来,导致自己的签名被覆盖。

请问有没有什么好的签名管理的实践方法?可以让应该的开发者使用一个签名,并且不需要提交到仓库上,最好可以本地调试,然后把签名集成到流水线上

HarmonyOS
2025-01-10 08:25:38
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

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

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

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

{
  "certpath": "",
"storePassword": "",
"keyAlias": "debugKey",
"keyPassword": "",
"profile": "",
"signAlg": "SHA256withECDSA",
"storeFile": ""
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

三、删除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
微信
回复
2025-01-10 12:04:34


相关问题
编译打包的签名怎么管理
2278浏览 • 1回复 待解决
HarmonyOS 如何获取签名key
593浏览 • 1回复 待解决
HarmonyOS 如何通过终端进行签名
696浏览 • 1回复 待解决
HarmonyOS 应用卡片如何管理
396浏览 • 1回复 待解决
HarmonyOS 多人开发时,如何配置签名
882浏览 • 1回复 待解决
HarmonyOS如何建立多目标的工程
670浏览 • 1回复 待解决
如何配置本地的工程机?
5775浏览 • 1回复 已解决
HarmonyOS rn工程报错
641浏览 • 1回复 待解决