写了一个 HarmonyOS 应用后最大的心愿就是把它安装到真机上,或发送给其他的小伙伴安装到真机上运行。


图片

想要在真机上运行,真的没有 Android 那么简单。难点主要体现在配置签名及安装上。


配置签名需要签名文件,而签名文件必须经过华为官网才能生成。


签名区分调试签名与正式签名:

  • 调试签名文件需要指定设备,即指定哪几个设备可以安装此签名的安装包。

  • 正式的签名文件不需要指定设备,但使用正式签名打出的安装包是不能直接安装到真机上的,这个会在后面的安装步骤介绍。而安装包也并不能在设备上直接点击安装。


下面可以看一下如何将 HarmonyOS 应用打包并安装到真机上。


配置签名


配置签名需要 3 个文件:

  • xxxx.p12:密钥文件,可本地生成

  • xxxx.p7b:HAP Provision Profile文件,需要从华为应用网站创建并下载

  • xxxx.cer:数字证书,需要从华为应用网站创建并下载


配置的代码如下:
debug {
    storeFile file('xxxx.p12')
    storePassword '***'
    keyAlias = 'debugKey'
    keyPassword '****'
    signAlg = 'SHA256withECDSA'
    profile file('xxxx.p7b')
    certpath file('xxxx.cer')
}

①通过 DevEco 自动配置签名


使用此种配置方式只能配置调试签名文件,且前提是要有一台 HarmonyOS 系统的设备连接到电脑。需要设备连接是因为调试签名文件需要指定设备。


a.在 AppGallery Connect 网站建项目


AppGallery Connect 网站连接为:

https://developer.huawei.com/consumer/cn/service/josp/agc/index.html

不用点击或复制链接进入网站,可根据使用真机调试文档的指引进入:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section793484619307

如下图的红框 1,点击进入即可:

图片

这里需要特别注意,不能直接从“我的应用”图标进入,直接创建应用。从“我的应用”进入创建不了 HarmonyOS 应用。只能从“我的项目”进入,创建项目后再创建 HarmonyOS 应用。

图片

b.在新建项目里创建 HarmonyOS 应用


创建 HarmonyOS 时选择项目左侧菜单的 HarmonyOS 应用进行创建,如下图:

图片

c.自动填充签名信息


完成以上两步可以再根据使用真机调试文档里的介绍进行处理即可:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section793484619307


需要注意的是一定要在此界面勾选自动填充,即下图的“Automatically generate singing”选项,在网站创建应用后,回到此弹窗,点击下方的重试按钮或重新进入此页面,都会自动填充签名信息的。

图片

②手动配置签名


手动配置主要有以下 3 步,具体的可参考应用发布文档:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/publish_app-0000001053223745#section793484619307

流程主要为以下 4 步:
  • 创建密钥文件(.p12 文件)和证书请求文件(.csr 文件)

  • 申请证书文件(.cer 文件)

  • 申请 HAP Provision Profile 文件(.p7b 文件)

  • 手动配置签名信息


打包


使用 gradle 命令或直接在 gradle 面板执行打包任务即可。生成的 hap 文件位于 build/outputs/hap/release/ 目录下。

注意,这里示意的为打 release 包,若打发 debug 包,把 release 换成 debug 即可。


①使用 gralde 命令打包:

./gradlew entry:assembleRelease

②使用 gradle 面板打包


打开 DevEco Studio 右上方的 gradle 面板,选择 assembleRelease,双击运行即可。

图片

安装


目前测试发现只能安装 Debug 包,且只能通过 hdc 命令进行安装。


使用发布证书打包出来的 release 安装包,安装时会提示以下错误信息,也就是设备不信任你的安装包,即使你的证书上在华为官网申请的也不行,可能是必须得上架到应用市场才可以吧。

Failure[INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED]

将 hap 复制到手机上手,不能像 Android 程序一样,点击安装包进行安装,系统不识别这种文件格式,会弹窗提示让选择打开的程序。


如果选择“应用”,则提示“解析安装包失败”,这个提示很像是 Android 系统弹出的,而且选择打开的程序弹窗也像是 Android 系统的弹窗。


使用 hdc 安装 hap 的命令为:

hdc install -p xxx.hap


图片

图 3:系统不能识别 hap 安装包

图片

图 3:不能使用“程序”应用处理 hap 安装包


总结


打包 hap 及安装到手机的流程与 Android 没有太大区别,而异同点主要体现在流程中的生成签名文件和安装上。


生成签名文件:

  • 签名文件必须经过华为认证

  • 使用调试签名文件签名的安装包只能安装到指定的设备

  • 使用正式签名文件签名的安装包不能直接安装到真机,需要发布到应用市场才行

  • 签名文件不能共用,每个应用都需要配置一个签名文件


安装:

  • 安装包不能手动点击安装,只能通过 bm install 进行安装


👇点击关注鸿蒙技术社区👇

鸿蒙技术社区
鸿蒙技术社区
HarmonyOS(鸿蒙)技术社区是由51CTO和华为共同打造的综合性开发和应用技术社区。
147篇原创内容
公众号

了解鸿蒙一手资讯


图片

“阅读原文”了解更多

来源:https://mp.weixin.qq.com/s/hctsI9ESUaAP9JKJzsdvZg
点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部