0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子发烧友开源社区 来源:未知 2022-10-18 09:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

b9380b14-4e84-11ed-a3b6-dac502259ad0.jpg

陈诚

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

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

背景

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

使用DevEco Studio完成HAP自动签名

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

b969d068-4e84-11ed-a3b6-dac502259ad0.png

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

b97548b2-4e84-11ed-a3b6-dac502259ad0.png

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

b9817dbc-4e84-11ed-a3b6-dac502259ad0.png

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

b99de6fa-4e84-11ed-a3b6-dac502259ad0.png

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

IDE对HAP包签名的密码限制

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

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

b9a98690-4e84-11ed-a3b6-dac502259ad0.png

b9b7839e-4e84-11ed-a3b6-dac502259ad0.png

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

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

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

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

https://gitee.com/openharmony/developtools_hapsigner

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

1 安装工具依赖环境

安装python3.10(下载链接:https://www.python.org/downloads/),通过命令行验证安装是否成功 b9cd1830-4e84-11ed-a3b6-dac502259ad0.png  安装jdk,配置好环境变量,通过命令行验证安装是否成功 b9d8df1c-4e84-11ed-a3b6-dac502259ad0.png  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 b9e15642-4e84-11ed-a3b6-dac502259ad0.png  到指定目录下可以找到签名后的HAP b9f855c2-4e84-11ed-a3b6-dac502259ad0.png  

总结

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

更多热点文章阅读

END

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

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


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

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

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

    关注

    31

    文章

    3927

    浏览量

    20725

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenHarmony TSC 2025年度技术课题发布(截至10月)

    2025年,在产学研各界专家学者的深度参与下,社区成功完成了关键难题的识别与分解。经过社区各技术领域专家与TSC评审,2025年新增技术课题发布至社区。截至当前,发布课题共计9道。热切期待各界的
    的头像 发表于 11-05 19:12 1067次阅读

    【汇思博SEEK100开发板试用体验】3/第一次使用OpenHarmony

    Automatically generate signing 。 点击Build → Build HAP(s)→ 生成entry-default-signed.hap(自动签名完成)。 ​​手动安装
    发表于 08-20 22:21

    2025 OpenHarmony TSC年中技术与生态研讨会圆满举办

    2025 OpenHarmony TSC 年中技术与生态研讨会 圆满举办 8月1日,2025 OpenHarmony TSC年中技术与生态研讨会于中国上海顺利召开。 本次会议由
    的头像 发表于 08-07 12:24 1429次阅读
    2025 <b class='flag-5'>OpenHarmony</b> TSC年中<b class='flag-5'>技术</b>与生态研讨会圆满举办

    OpenHarmony 2025年度技术课题发布

    2025年上半年,在产学研各界专家学者的深度参与下,社区成功完成了关键难题的识别与分解。经过社区各技术领域专家与TSC评审,2025年首批OpenHarmony技术课题现正式发布至社区
    的头像 发表于 07-23 20:57 590次阅读

    【「DeepSeek 核心技术揭秘」阅读体验】+混合专家

    逻辑,硬件性能的成本选择,达到的效果, 最后是对人工智能的影响。 Deepseek在技术思路上,采用混合专家系统MoE架构(思维模块),MoE则由多个专家模型组成,在处理任务时,它能够根据任务的特性
    发表于 07-22 22:14

    OpenHarmony年度技术课题评选通知

      OpenHarmony年度技术课题评选通知 活动简介 自技术课题发布以来,各高校OpenHarmony技术俱乐部积极申报、揭榜
    的头像 发表于 07-14 18:31 628次阅读

    迅为RK3568开发板基本工程目录-OpenHarmony APP工程结构

    (Application Package,简称 APP),它是由一个或多个 HAPOpenHarmony Ability Package)以及描述 APP Pack 属性的 pack.info 文件组成,如上图所示。一
    发表于 07-07 15:04

    鸿蒙5开发宝藏案例分享---优化应用体积大小问题

    → ** 压缩后:386KB (节省65%空间!)适用场景 :含原生代码(如OpenCV、音视频处理)的应用。 ?2. HSP动态共享:干掉多重复资源 问题 :多个HAP/HSP
    发表于 06-13 10:09

    HarmonyOS优化应用体积大小问题性能优化

    : 对于含有so库的app工程,可以配置so库压缩选项,通过压缩so库来减小应用大小。 应用存在多HAP、HSP)的场景时,可以使用HSP动态共享包在应用的多个
    发表于 05-20 14:50

    如何使用 DveEco Studio ?

    DevEco Studio的使用 自动签名 选择 File &gt; Project Structure &gt; Project &gt
    发表于 04-24 08:29

    城市技术论坛首次登陆欧洲!OpenHarmony启航海外开源生态新征程

    OpenHarmony项目相关的技术研究和生态实践。 嘉宾合影 本次活动由OpenHarmony项目群技术指导委员会(TSC)主办,华为德累斯顿研究所、欧洲标准与产业发展部、阿姆斯特
    的头像 发表于 03-31 21:08 624次阅读
    城市<b class='flag-5'>技术</b>论坛首次登陆欧洲!<b class='flag-5'>OpenHarmony</b>启航海外开源生态新征程

    安装安装时报驱动无签名

    用labview2020生成安装文件在win7安装时提示安装的驱动程序未签名。驱动程序NI-PAL Legacy Wrapper Driver for Windows,服务 nipalusbedl.求助怎样解决?
    发表于 03-12 14:58

    【贝启科技BQ3568HM开源鸿蒙开发板深度试用报告】1 - 开箱测试和技术资料准备

    程序的源码和HAP。 示例程序测试 设备连接 使用USB线将开发板连接到电脑上,在命令行运行hdc list targets -v命令查看设备状态,得到如下内容: G:\\\\HUAWEI
    发表于 01-21 11:17

    2024 OpenHarmony年度技术分享会来啦,预约直播有好礼~

    电子发烧友联合开源鸿蒙技术专家、老师、开发者为大家带来OpenHarmony的最新技术进展、开发心得以及应用实践,共同推动OpenHarmony
    的头像 发表于 12-25 09:13 939次阅读
    2024 <b class='flag-5'>OpenHarmony</b>年度<b class='flag-5'>技术</b>分享会来啦,预约直播有好礼~

    2024 OpenHarmony年度技术分享会来啦,预约直播有好礼~

    联合开源鸿蒙技术专家、老师、开发者为大家带来OpenHarmony的最新技术进展、开发心得以及应用实践,共同推动OpenHarmony生态的
    发表于 12-25 09:10