找回密码
 立即注册
查看: 1553|回复: 0

OpenHarmony应用HAP包自动与手动签名步骤

[复制链接]

31

主题

38

帖子

201

积分

中级会员

Rank: 3Rank: 3

积分
201
发表于 2023-8-14 16:17:01 | 显示全部楼层 |阅读模式
本帖最后由 Trainee_Li 于 2023-8-14 16:21 编辑

背景
OpenHarmony应用如果需要对外发布就必须要通过应用签名,DevEco Studio已提供自动签名功能加速应用开发,但自动签名仅限于debug开发,如需对外发布则必须完成release签名。下文将介绍OpenHarmony应用自动签名和手动签名的方法步骤。

自动签名
打开DevEco Studio工具,点击右上角Project Structure进入工程配置页面,点击Project -> Signing Configs,勾选Automatically generate signing,点击OK
      11.png   
      2.png          

点击Build -> Rebuild Project 或 Build HAP都可以编译构建HAP包。编辑构建完成后我们可以得到未签名的HAP包。
    3.png     4.png

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



手动签名

查阅官方资料发现,官方已经提供了命令行签名工具:https://gitee.com/openharmony/developtools_hapsigner我们通过修改配置文件、执行脚本,即可完成HAP签名

具体步骤如下:

1.安装工具依赖环境

安装python3.10(下载链接:https://www.python.org/downloads/),通过命令行验证安装是否成功。

    5.png
安装jdk,配置好环境变量,通过命令行验证安装是否成功

    6.png

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

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

修改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

    7.png

到指定目录下可以找到签名后的HAP

    8.png








回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则