HarmonyOS 鸿蒙Next .hap包或者.app包重签过程记录

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next .hap包或者.app包重签过程记录

前因:

由于客户指定要某60进行加固,加固完成后,.hap包与.app包是没有签名的,无法安装在测试机和提交市场

解决方案

方案1

    使用某60的工具重签,但加固后的包建议还是去他们网站进行加固后重新下载,因为这个工具对网络要求比较严格,稍微有网络波动,包就传不上去,就无法进行加固。弊端:无法对应后期迭代的CI/CD

方案2

    使用DevEco自带的工具重签。如果有CI/CD的需求,可以参考这个方案

  • 去签名的.hap或者.app还是参考方案1,去网站加固后下载加固成功的包

  • 找到DevEco自带的工具hap-sign-tool.jar,目前只有Mac的路径,PC的同学麻烦自己对应找一下。

  • 直接执行命令:  java -jar hap-sign-tool.jar sign-app -keyAlias "yourAlias" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "yourCer.cer" -profileFile "yourProfile.p7b" -inFile "your_no_sign.hap" -keystoreFile "yourKeyStore.p12" -outFile "your_sign.hap" -keyPwd "yourPwd" -keystorePwd "yourKeyStorePwd

  • 如果想用C去执行,请自己重新编译成C库.

以上官方Git地址: hap-sign-tool.jar

切记:重签名之前和之后一定要用相同的cer/p7b/p12,否则重签名后,安装到测试机还会提示证书不正确和上架不成功。


更多关于HarmonyOS 鸿蒙Next .hap包或者.app包重签过程记录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

win版本重签名工具位置:

SDK中的hap-sign-tool默认地址如下:
IDE安装目录\sdk\default\openharmony\toolchains\lib

更多关于HarmonyOS 鸿蒙Next .hap包或者.app包重签过程记录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next的.hap包或者.app包重签过程主要包括以下几个步骤:

  1. 准备材料:获取需要重签的.hap或.app包,以及新的签名证书(包括私钥和公钥证书)。

  2. 解压原始包:使用专用工具解压.hap或.app包,获取其中的内容文件和签名文件。

  3. 删除原签名:从解压后的内容中移除原有的签名文件,包括签名证书和签名信息。

  4. 重新签名:使用新的签名证书对解压后的内容进行重新签名。这一步需要调用鸿蒙系统提供的签名工具,按照工具要求的格式和参数进行操作。

  5. 打包:将重新签名后的内容以及新的签名文件重新打包成.hap或.app格式。

  6. 验证:使用鸿蒙系统的验证工具对新生成的.hap或.app包进行验证,确保签名正确无误。

整个过程需要确保使用的签名证书有效且未过期,同时需要严格遵循鸿蒙系统的签名和打包规范。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。在此平台上,你可以获得更专业的技术支持和解决方案。

回到顶部