关于openharmony:OpenHarmony应用Hap包签名

4次阅读

共计 2180 个字符,预计需要花费 6 分钟才能阅读完成。

背景

OpenHarmony 利用如果须要对外公布就必须要通过利用签名,DevEco Studio 已提供主动签名性能减速利用开发,但主动签名仅限于 debug 开发,须要对外公布则必须实现 release 签名。
在 HarmonyOS 中有 AGC 利用商店能够帮忙开发者实现 release 签名,然而 OH 就没有这么不便了,本文将介绍 OH 利用签名办法步骤,将应用 OH 官网提供的签名工具对 Hap 进行签名。

应用 DevEco Studio 实现 Hap 主动签名

关上 DevEco Studio 工具,点击右上角 Project Structure 进入工程配置页面

点击 Project -> Signing Configs,勾选 Automatically generate signing,点击 OK

点击 Build -> Rebuild Project 或 Build Hap 都能够编译构建 Hap 包

编辑构建实现后咱们能够失去未签名的 hap 包

这个包能够用于 Debug 调试,但不能用于 Release 正式公布

DE 对 Hap 包签名的明码限度

从实践上讲,咱们也能够通过 DevEco Studio 进行 Hap 包的公布签名,然而官网提供的 OpenHarmony.p12 文件明码为 123456

而 IDE 不反对应用 123456 这样的简略的明码,它达不到明码安全级别

因而,应用官网加密文件实现签名临时行不通

咱们扭转思路,应用命令行形式实现签名,这样能够绕过 IDE 的限度
应用官网开源签名工具实现签名
查阅官网材料发现,官网曾经提供了命令行签名工具 developtools_hapsigner,https://gitee.com/openharmony…

咱们通过批改配置文件、执行脚本,即可实现 Hap 签名

具体步骤如下:

1 装置工具依赖环境

装置 python3.10 (下载链接:https://www.python.org/downlo…),通过命令行验证装置是否胜利

装置 jdk,配置好环境变量,通过命令行验证装置是否胜利

2 将签名工具代码拉取到本地保留,批改配置文件

git clone https://gitee.com/openharmony…

批改 developtools_hapsigner\autosign\signHap.config 文件配置

config.signtool 改为 hap-sign-tool.jar 的绝对路径,能够在 dist 目录中找到

config.signtool=E:/openharmony/developtools_hapsigner/dist/hap-sign-tool.jar

common.keystoreFile 改为 OpenHarmony.p12 的绝对路径,能够在 dist 目录中找到

common.keystoreFile=E:/openharmony/developtools_hapsigner/dist/OpenHarmony.p12

app.keypair.keyAlias 改为 OpenHarmony Application Release

app.keypair.keyAlias=OpenHarmony Application Release

cert.app.outFile 改为 OpenHarmonyApplication.pem 的绝对路径,能够在 dist 目录中找到

cert.app.outFile=E:/openharmony/developtools_hapsigner/dist/OpenHarmonyApplication.pem

sign.profile.outFile 改为 官网提供的 p7b 绝对路径,比方 launcher 代码中提供了 launcher.p7b 加密文件

sign.profile.outFile=E:/openharmony/signfiles/launcher/launcher.p7b

sign.app.inFile 为未签名 hap 门路

sign.app.inFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-default-unsigned.hap

sign.app.outFile 为签名后的 hap 保留门路

sign.app.outFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-signed.hap

3 实现配置文件批改后,执行签名脚本

进入签名工具 autosign 目录

cd E:\openharmony\developtools_hapsigner\autosign

执行 python 脚本

python .\autosign.py signHap

签名胜利后显示 Success

到指定目录下能够找到签名后的 hap

总结

DevEco Studio 开发工具为开发人员提供了十分敌对的 hap 主动签名性能,以及十分便捷的 Debug 包公布。
因为 IDE 的平安明码要求,对于 Release 包的公布咱们临时须要手动签名,尤其是零碎级的利用。
咱们能够利用官网提供的签名工具较为容易的实现 release 包签名,后续能够自行开发 GUI 工具进一步晋升签名效率。

正文完
 0