技术专家分享:OpenHarmony应用HAP包签名

描述

 

OpenHarmony

陈诚

鸿湖万联高级技术专家、产品推荐官

 

以下内容来自嘉宾分享,不代表开放原子开源基金会观点

 

背景

OpenAtom OpenHarmony(以下简称“OpenHarmony”)应用如果需要对外发布就必须要通过应用签名,DevEco Studio已提供自动签名功能加速应用开发,但自动签名仅限于debug开发,如需对外发布则必须完成release签名。 在OpenHarmony中有AGC应用商店可以帮助开发者完成release签名,本文将介绍OpenHarmony应用签名方法的步骤,将使用OpenHarmony官方提供的签名工具对HAP进行签名。  

使用DevEco Studio完成HAP自动签名

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

 

OpenHarmony

 

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

 

OpenHarmony

 

点击Build -> Rebuild Project 或 Build HAP都可以编译构建HAP包

 

OpenHarmony

 

编辑构建完成后我们可以得到未签名的HAP包

 

OpenHarmony

 

这个包可以用于Debug调试,但不能用于Release正式发布  

IDE对HAP包签名的密码限制

从理论上讲,我们也可以通过DevEco Studio进行HAP包的发布签名,但是官方提供的OpenHarmony.p12文件密码为123456

而IDE不支持使用123456这样的简单的密码,它达不到密码安全级别

 

OpenHarmony

OpenHarmony

 

因此,使用官方加密文件完成签名暂时行不通

我们改变思路,使用命令行方式完成签名,这样可以绕过IDE的限制

 

使用官方开源签名工具完成签名

查阅官方资料发现,官方已经提供了命令行签名工具

https://gitee.com/openharmony/developtools_hapsigner

我们通过修改配置文件、执行脚本,即可完成HAP签名具体步骤如下:

 

1 安装工具依赖环境

 

安装python3.10(下载链接:https://www.python.org/downloads/),通过命令行验证安装是否成功  OpenHarmony  安装jdk,配置好环境变量,通过命令行验证安装是否成功  OpenHarmony  2 将签名工具代码拉取到本地保存,修改配置文件  git clone https://gitee.com/openharmony/developtools_HAPsigner.git  修改developtools_HAPsignerautosignsignHAP.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:openharmonydeveloptools_HAPsignerautosign# 执行python脚本python .autosign.py signHAP  签名成功后显示Success  OpenHarmony  到指定目录下可以找到签名后的HAP  OpenHarmony  

总结

DevEco Studio开发工具为开发人员提供了非常友好的HAP自动签名功能及非常便捷的Debug包。由于IDE的安全密码要求,对于Release包的发布我们暂时需要手动签名,尤其是系统级的应用。我们可以利用官方提供的签名工具较为容易地完成release包签名,后续可以自行开发GUI工具进一步提升签名效率。

 

更多热点文章阅读

 

END

     想了解更多开源技术?后台留言,立刻安排!

就喜欢奖励一个“”和“在看”呗~


原文标题:技术专家分享:OpenHarmony应用HAP包签名

文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分