HarmonyOS 鸿蒙Next 如何对已加固hap和.app包进行签名

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何对已加固hap和.app包进行签名 错误码:991,表示:非法软件包

出现此错误,可能是软件包未签名,请检查编译环境,确认是否使用了签名文件。或者是否有进行拆包再手动打包,导致未正确签名

如何对.hap和.app包进行签名,单独命令进行签名。然后上架

3 回复

使用命令行工具对HAP进行签名

java -jar hap-sign-tool.jar sign-app -keyAlias "key0" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "test.cer" -profileFile "test.p7b" -inFile "hap-unsigned.hap" -keystoreFile "test.p12" -outFile "result\hap-signed.hap" -keyPwd "123456" -keystorePwd "123456" -signCode "1"

文档参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-command-line-building-app-V5

报错参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-compiling-and-building-101-V5

更多关于HarmonyOS 鸿蒙Next 如何对已加固hap和.app包进行签名的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,对已加固的HAP和APP包进行签名,需要使用华为提供的签名工具hdchdc_std。首先,确保你已经生成了签名证书和私钥。然后,使用以下命令对HAP或APP包进行签名:

  1. 生成签名证书和私钥:使用keytool生成签名证书和私钥,命令如下:

    keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks
  2. 使用hdc工具签名:将生成的证书和私钥用于签名HAP或APP包,命令如下:

    hdc sign --keystore mykeystore.jks --alias mykey --input myapp.hap --output myapp_signed.hap
  3. 使用hdc_std工具签名:如果使用hdc_std工具,命令如下:

    hdc_std sign --keystore mykeystore.jks --alias mykey --input myapp.hap --output myapp_signed.hap

签名完成后,生成的myapp_signed.hap即为已签名的HAP包。签名过程中,确保证书和私钥的路径正确,并且输入和输出文件的路径无误。

在HarmonyOS鸿蒙Next中,对已加固的HAP和.app包进行签名,可以按照以下步骤操作:

  1. 准备签名文件:确保已拥有有效的签名证书(.p12文件)和对应的密码。
  2. 使用DevEco Studio:打开DevEco Studio,导入已加固的HAP或.app包。
  3. 配置签名:在项目设置中,找到“Signing Configurations”,添加或选择已有的签名配置,填入证书和密码。
  4. 重新签名:选择“Build”菜单中的“Re-sign APK”或“Re-sign APP”,DevEco Studio会使用配置的签名信息重新签名包。

通过以上步骤,即可完成对已加固HAP和.app包的重新签名。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!