背景
OpenAtom OpenHarmony(以下简称“OpenHarmony”)利用如果须要对外公布就必须要通过利用签名,DevEco Studio已提供主动签名性能减速利用开发,但主动签名仅限于debug开发,如需对外公布则必须实现release签名。
在OpenHarmony中有AGC利用商店能够帮忙开发者实现release签名,本文将介绍OpenHarmony利用签名办法的步骤,将应用OpenHarmony官网提供的签名工具对HAP进行签名。
应用DevEco Studio实现HAP主动签名
关上DevEco Studio工具,点击右上角Project Structure进入工程配置页面
点击Project -> Signing Configs,勾选Automatically generate signing,点击OK
点击Build -> Rebuild Project 或 Build HAP都能够编译构建HAP包
编辑构建实现后咱们能够失去未签名的HAP包
这个包能够用于Debug调试,但不能用于Release正式公布
IDE对HAP包签名的明码限度
从实践上讲,咱们也能够通过DevEco Studio进行HAP包的公布签名,然而官网提供的OpenHarmony.p12文件明码为123456
而IDE不反对应用123456这样的简略的明码,它达不到明码安全级别
因而,应用官网加密文件实现签名临时行不通
咱们扭转思路,应用命令行形式实现签名,这样能够绕过IDE的限度
应用官网开源签名工具实现签名
查阅官网材料发现,官网曾经提供了命令行签名工具
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 Releaseapp.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工具进一步晋升签名效率。