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
    +关注

    关注

    23

    文章

    3291

    浏览量

    15159

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

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

收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发指导:【应用包签名工具】

    OpenHarmony系统内置密钥库文件,文件名称为OpenHarmony.p12,内含根CA证书、中间CA证书、最终实体证书等信息,工具基于该密钥库文件对OpenHarmony应用进行签名
    的头像 发表于 04-17 11:13 309次阅读
    鸿蒙OS开发指导:【应用包<b class='flag-5'>签名</b>工具】

    OpenHarmony技术大会 | OpenHarmony技术俱乐部分论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | Open
    的头像 发表于 11-10 20:25 259次阅读

    喜报 | 深开鸿多位技术专家成功当选OpenHarmony社区Committer!

    近期,深开鸿五位技术专家成功当选为OpenHarmony社区Committer,以表彰他们在软总线、兼容性测评、驱动、合规等方面做出的重要贡献。目前,深开鸿在社区的Committer席位已经达到
    的头像 发表于 11-03 22:41 191次阅读
    喜报 | 深开鸿多位<b class='flag-5'>技术</b><b class='flag-5'>专家</b>成功当选<b class='flag-5'>OpenHarmony</b>社区Committer!

    技术筑生态,智联赢未来 第二届OpenHarmony技术大会即将在京启幕

    OpenHarmony操作系统的技术革新、分享阶段性技术成果,还将特邀全球开源操作系统技术领袖,行业前沿领域的实践专家、高校
    发表于 10-31 11:27

    限量门票!第二届开放原子开源基金会OpenHarmony技术峰会报名开启~

    北京举办。峰会以“技术筑生态,智联赢未来”为主题,特邀全球开源操作系统技术领袖、前沿实践专家及高校技术导师,面向全球展示OpenHarmony
    发表于 10-20 14:18

    报名开启!第二届开放原子开源基金会OpenHarmony技术峰会来啦~

    第二届开放原子开源基金会OpenHarmony技术峰会将于2023年11月4日在北京举办。峰会以“技术筑生态,智联赢未来”为主题,特邀全球开源操作系统技术领袖、前沿实践
    发表于 10-20 12:06

    OpenHarmony创新赛丨报名倒计时,超强秘籍带你直通大奖!

    赋能课程 往期专家知识赋能课程回放 六、精选技术文章 掌握开源技术最新动态 附录 一、OpenHarmony创新赛详细参与流程 参赛指引​​Open
    发表于 10-18 07:59

    OpenHarmony创新赛 | 您有一份创新激励奖待领取 请查收!

    AtomGit上建仓提交作品资料 提交作品时将仓库地址同步给工作人员即可 参赛作品需包含说明文档、演示视频、开源源码及应用hap 有任何疑问,欢迎联系我们: 开源大赛官网 ​​https
    发表于 09-21 15:32

    OpenHarmony应用程序整体说明

    用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件文件,称为“应用程序”。 OpenHarmony提供了应用程序开发、安装、查
    发表于 09-20 15:34

    OpenHarmony ArkTS工程目录结构(Stage模型)

    HAP。 src > main > ets:用于存放ArkTS源码。 src > main > ets > entryability
    发表于 09-18 15:23

    直播预告丨OpenHarmony创新赛技术赋能,深开鸿专家9月开讲

    开放原子开源大赛OpenHarmony创新赛赋能直播即将开启啦!2023年9月14日19:00,9月19日19:00,深开鸿技术专家将通过两场直播课带大家深入了解OpenHammony多媒体
    的头像 发表于 09-13 21:50 356次阅读

    OpenHarmony创新赛技术赋能,深开鸿专家9月开讲

    开放原子开源大赛OpenHarmony创新赛赋能直播即将开启啦!2023年9月14日19:00,9月19日19:00,深开鸿技术专家将通过两场直播课带大家深入了解OpenHammony多媒体
    的头像 发表于 09-13 08:39 304次阅读
    <b class='flag-5'>OpenHarmony</b>创新赛<b class='flag-5'>技术</b>赋能,深开鸿<b class='flag-5'>专家</b>9月开讲

    OpenHarmony Meetup 广州站 OpenHarmony正当时—技术开源

    OpenHarmony的魅力; 线下参与,先到先得,仅限20个名额! 报名截止时间8月23日24:00点 1、可获得惊喜开发者礼品一份 2、现场大咖面对面交流 3、互动体现打卡拍照 4、现场提问/专家技术解答
    发表于 08-14 18:09

    西安电子科技大学OpenHarmony技术俱乐部正式揭牌成立暨OpenHarmony TSC专家进校园

    大学OpenHarmony技术俱乐部成立仪式暨OpenHarmony TSC专家进校园”活动在西安电子科技大学南校区会议中心B101报告厅圆满举办。 嘉宾合影 西安电子科技大学副校长王
    的头像 发表于 06-28 08:40 675次阅读
    西安电子科技大学<b class='flag-5'>OpenHarmony</b><b class='flag-5'>技术</b>俱乐部正式揭牌成立暨<b class='flag-5'>OpenHarmony</b> TSC<b class='flag-5'>专家</b>进校园

    资讯速递 | 兰州大学OpenHarmony技术俱乐部正式揭牌成立暨OpenHarmony TSC专家进校园

    5月25日上午,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)和兰州大学共同举办的“兰州大学OpenHarmony
    的头像 发表于 05-26 08:43 1003次阅读
    资讯速递 | 兰州大学<b class='flag-5'>OpenHarmony</b><b class='flag-5'>技术</b>俱乐部正式揭牌成立暨<b class='flag-5'>OpenHarmony</b> TSC<b class='flag-5'>专家</b>进校园