HarmonyOS鸿蒙Next配置签名问题

HarmonyOS鸿蒙Next配置签名问题 使用自动生成签名没有问题,自己一步步弄出来的配置好报如下问题,请问是什么原因导致的?

>hvigor Finished :common:default@CompileArkTS…, after 4 s 177 ms

> hvigor Finished :common:default@PrepareSharedHarResource… after 68 ms

> hvigor Finished :common:default@PackageSharedHar… after 197 ms

> hvigor Finished :common:default@PackageHsp… after 1 s 233 ms

> hvigor ERROR: Failed :Lib_question:default@SignHsp

> hvigor ERROR: Tools execution failed.

06-04 11:10:48 ERROR - hap-sign-tooL: error: Signature verify failed

Detail: Please check the message from tools.

> hvigor ERROR: BUILD FAILED in 13 s 41 ms

> hvigor ERROR: Failed :Lib_course:default@SignHap

Process finished with exit code -1


更多关于HarmonyOS鸿蒙Next配置签名问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

针对签名冲突问题,可以使用相对路径,在工程根目录下放置.p12 .p7b .cer 文件,可以写成./xxx.cer 即可,参考示例代码:

"signingConfigs": [
      {
        "name": "default",
        "type": "HarmonyOS",
        "material": {
          "storePassword": "******",
          "certpath": "./Debug-Cert.cer",
          "keyAlias": "myapplication_debug",
          "keyPassword": "*******",
          "profile": "./debug_profileDebug.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "./myapplication_debug.p12"
        }
      }
    ],

对于报错信息的话,显示是在编译lib-question模块时在使用hap-sign-tool工具时签名失败,可能是手动签名需要的那三个文件有部分不对,签名文件一般都是file->Project Structure->signing configs上传后自动生成,建议把build-profile.json中签名文件删掉,在signconfigs中按./myapplication_debug.p12这种写法试一下,看是否仍会报错。

更多关于HarmonyOS鸿蒙Next配置签名问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,配置签名涉及以下几个步骤:

  1. 生成密钥库和证书

    • 使用keytool工具生成密钥库(.keystore文件),命令如下:
      keytool -genkeypair -alias "myalias" -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.keystore
      
    • 此命令生成一个有效期为365天的RSA密钥对,并存储在mykeystore.keystore文件中。
  2. 配置签名信息

    • 在项目的build.gradle文件中配置签名信息,示例如下:
      android {
          signingConfigs {
              release {
                  storeFile file("mykeystore.keystore")
                  storePassword "mystorepassword"
                  keyAlias "myalias"
                  keyPassword "mykeypassword"
              }
          }
          buildTypes {
              release {
                  signingConfig signingConfigs.release
              }
          }
      }
      
    • 此配置将使用生成的密钥库对发布版本进行签名。
  3. 验证签名

    • 使用jarsigner工具验证APK文件的签名,命令如下:
      jarsigner -verify -verbose -certs myapp.apk
      
    • 此命令将验证APK文件的签名并显示详细信息。
  4. 注意事项

    • 确保密钥库和密码的安全性,避免泄露。
    • 定期更新密钥库和证书,确保其有效性。

通过以上步骤,您可以在HarmonyOS鸿蒙Next中成功配置签名。

在HarmonyOS鸿蒙Next中配置签名时,首先需要生成一个签名证书。使用keytool生成.jks文件,然后在build.gradle中配置签名信息。确保signingConfigs中正确引用.jks文件路径、storePasswordkeyAliaskeyPassword。最后,在buildTypes中应用签名配置。签名配置完成后,构建应用将自动使用指定的签名证书进行签名,确保应用的安全性和完整性。

回到顶部