赞
踩
在基于鸿蒙SDK开发完成应用后,可以通过 Build -> Build Hap(s)/APP(s) 编译后,在 项目根目录/build/outputs/app/release/ 目录下生成两个文件: xxx_unsigned.app 和 xxx_signed.app。在某些情况下可能需要使用 xxx_unsigned.app 文件,然后使用同步的签名文件对文件进行签名。
那么问题来了,怎么对未签名的文件进行重新签名呢?这个文件就是本文想要解决的问题。
在 DevEco Studio 中有一个 hapsigntoolv2.jar 。通过这个 jar 包可以对应用进行重签名。签名脚本内容如下:
echo "开始签名操作..." ## 设置 hapsigntoolv2.jar 的路径 jarPath=/Users/<User>/Library/Huawei/Sdk/toolchains/lib/hapsigntoolv2.jar ## 设置签名文件 .p12 的目录 keystorePath=release.p12 ## 设置签名文件密码变量。这个密码在生成签名文件是设置的 keystorePasswd=abcdefg ## 设置签名文件别名 keystoreAlias=Alias ## 设置证书 .p7b 文件路径 profilePath=release.p7b ## 设置证书 .cer 文件路径 certPath=release.cer ## 输入文件路径设置。输入文件路径作为命令执行的第一个参数 inputFilePath=$1 ## 输出文件路径设置。输出文件路径作为命令执行的第二个参数 outputFilePath=$2 ## 进行签名 java -jar $jarPath sign -mode localjks -keystore $keystorePath -keystorepasswd $keystorePasswd -privatekey $keystoreAlias -keyaliaspasswd $keystorePasswd -signAlg SHA256withECDSA -profile $profilePath -certpath $certPath -inputFile $inputFilePath -outputFile $outputFilePath echo . echo "签名完成~~~"
将上面内容写到一个 signer.sh 文件中保持。通过下面指令赋给脚本文件可行的权限:
$ chmod 777 signer.sh
至此,一个简单的签名工具已经完成。
上面章节已经完成一个简单的签名工具 signer.sh。使用方式如下:
$ signer.sh xxx_unsigned.app xxx_signed.app
如果执行成功,则会生成 xxx_signed.app 文件。
然后尝试运行一下试试吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。