HAP可以直接在模拟器或者真机设备上运行,用于HarmonyOS应用开发阶段的调试和查看运行效果。

HAP按构建类型和是否签名可以分为以下四种形态:

1、构建类型为Debug的HAP(带调试签名信息):携带调试签名信息,具备单步调试等调试手段的HAP,用于开发者在真机或者模拟器中进行应用调试。

2、构建类型为Debug的HAP(不带签名):不带调试签名信息,具备单步调试等调试手段的HAP,仅能运行在模拟器中。

3、构建类型为Release的HAP(带调试签名信息):携带调试签名信息,不具备调试能力的HAP,用于开发者在真机或者模拟器中查看和验证应用运行效果。相对于Debug类型的HAP包,体积更小,运行效果与用户实际体验一致。

4、构建类型为Release的HAP(不带签名):不带调试签名信息,不具备调试能力的HAP,仅能运行在模拟器中查看和验证应用运行效果。相对于Debug类型的HAP包,体积更小,运行效果与用户实际体验一致。

根据HarmonyOS工程介绍,一个HarmonyOS工程下可以存在多个Module,在编译构建时,可以选择对单个Module进行编译构建;也可以对整个工程进行编译构建,同时生成多个HAP。

前提条件

1、已完成build.gradle和config.json的设置,详情请参考编译构建前配置。

2、已完成调试证书和Profile文件的申请,详情请参考申请证书和Profile。

构建类型为Debug的HAP(带调试签名信息)

如果一个工程目录下存在多个Module,当对单个Module进行构建时,只需要对指定的Module进行签名;如果对整个工程进行构建,则需要对所有的Module进行签名。

打开File>Project Structure,在Modules>entry(模块名称)>Signing Configs > debug窗口中,配置指定模块的调试签名信息。

Store File:选择密钥库文件,文件后缀为.p12。

Store Password:输入密钥库密码。

Key Alias:输入密钥的别名信息。

Key Password:输入密钥的密码。

SignAlg:签名算法,固定为SHA256withECDSA。

Profile File:选择申请的调试Profile文件,文件后缀为.p7b。

Certpath File:选择申请的调试数字证书文件,文件后缀为.cer。

a1d91f29964d5d68e35fe6e61be926b6.png

在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Debug Hap(s),生成已签名的Debug HAP。

f89f3ae932b0670cc4840c45674e4acb.png

构建类型为Debug的HAP(不带签名)

对于构建类型为Debug的HAP,如果没有配置签名参数,则默认不对HAP进行签名,该方式生成的HAP仅能运行在模拟器上。

在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Debug Hap(s),生成不带签名的调试Debug HAP。

构建类型为Release的HAP(带调试签名信息)

如果一个工程目录下存在多个Module,当对单个Module进行构建时,只需要对指定的Module进行签名;如果对整个工程进行构建,则需要对所有的Module进行签名。

打开File>Project Structure,在Modules>entry(模块名称)>Signing Configs > release窗口中 ,配置指定模块的调试签名信息。Store File:选择密钥库文件,文件后缀为.p12。

Store Password:输入密钥库密码。

Key Alias:输入密钥的别名信息。

Key Password:输入密钥的密码。

SignAlg:签名算法,固定为SHA256withECDSA。

Profile File:选择申请的调试Profile文件,文件后缀为.p7b。

Certpath File:选择申请的调试数字证书文件,文件后缀为.cer。

c3b4d34ce42060a65143b25f09e79bcf.png

在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Release Hap(s),生成已签名的Release HAP。

06eaa0b88faa6e112203d5975d191870.png

构建类型为Release的HAP(不带签名)

对于构建类型为Release的HAP,如果没有配置签名参数,则默认不对HAP进行签名,该方式生成的HAP仅能运行在模拟器上。在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Release Hap(s),生成不带签名的调试Release HAP。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐