当前位置: 首页 > 科技观察

HarmonyOS应用如何打包HAP并安装到真机

时间:2023-03-13 15:02:16 科技观察

HarmonyOSapp如何打包HAP并在真机上安装是在真机上安装,或者发给其他小伙伴在真机上安装运行。想要在真机上运行,??真的没有安卓那么简单。难点主要体现在配置签名和安装上。配置签名需要签名文件,签名文件必须通过华为官网生成。签名区分调试签名和官方签名。调试签名文件需要指定设备,即指定哪些设备可以安装该签名的安装包;官方签名文件不需要指定设备,但是印有官方签名的安装包是不能直接安装到真机上的,这个在后面的安装步骤中会介绍。并且安装包不能直接点击安装到设备上。下面我们就来看看如何在真机上打包安装HarmonyOS应用。1.配置签名配置签名需要3个文件xxxx.p12密钥文件,可以在本地生成xxxx.p7bHAPProvisionProfile文件,需要创建并从华为申请网站下载xxxx.cer数字证书,需要创建并从华为应用网站下载配置代码如下:debug{storeFilefile('xxxx.p12')storePassword'***'keyAlias='debugKey'keyPassword'****'signAlg='SHA256withECDSA'profilefile('xxxx.p7b')certpathfile('xxxx.cer')}1.通过DevEco自动配置签名这种配置方式只能配置debug签名文件,前提是电脑必须连接鸿蒙系统设备。需要设备连接,因为调试签名文件需要指定设备。A。在AppGalleryConnect网站上构建一个项目。AppGalleryConnect网站链接为:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html无需点击或复制链接进入网站,即可使用真机A输入调试文档指南。如下图红框1所示,点击进入。这里需要特别注意,不能直接从“我的应用”图标进入直接创建应用。从“我的应用”访问不能创建HarmonyOS应用。它只能从“我的项目”访问。创建工程后,创建HarmonyOS应用。b.在新项目中创建鸿蒙应用。创建HarmonyOS时,在项目左侧菜单中选择HarmonyOS应用进行创建,如下图所示:c.自动填写签名信息。完成以上两步后,就可以按照使用真机调试文档中的介绍进行处理了。能。需要注意的是,在这个界面一定要勾选自动填充,也就是下图中的“自动生成歌声”选项。在网站创建应用后,返回该弹窗,点击下方重试按钮或重新进入该页面,均会自动填写签名信息。2.手动配置签名手动配置主要有以下3个步骤。详情请参阅申请发布文件。该过程主要包括以下4个步骤创建密钥文件(.p12文件)和证书请求文件(.csr文件)b.应用证书文件(.cer文件)c.申请HAPProvisionProfile文件(.p7b文件)d.手动配置签名信息2.使用gradle命令打包或者直接在gradle面板执行打包任务。生成的hap文件位于build/outputs/hap/release/目录中。注意这里显示的是发送发布包。如果要发送调试包,只需将release替换为debug即可。1.使用gralde命令打包./gradlewentry:assembleRelease2.使用gradle面板打包打开DevEcoStudio右上角的gradle面板,选择assembleRelease,双击运行。3、安装目前测试发现只能安装Debug包,而且只能通过hdc命令安装。带有release证书的release安装包在安装的时候会提示如下错误信息,就是设备不信任你的安装包,即使你的证书在华为官网申请了也不一定行得通,可能要投放到应用市场。好的。失败[INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED]复制hap到手机后,无法像安卓程序一样点击安装包安装。系统无法识别此文件格式,并会弹出一个窗口提示您选择要打开的程序。如果选择“应用”,会提示“解析安装包失败”,这个提示很像安卓系统的弹窗,你选择打开的程序的弹窗也很像Android系统的弹窗。使用hdc安装hap的命令是hdcappinstallxxx.hap4.总结打包hap并安装到手机的过程和安卓没有太大区别,但异同点主要体现在签名文件的生成上和安装过程中。生成签名文件签名文件必须经过华为认证。使用调试签名文件签名的安装包只能安装在指定的设备上。使用官方签名文件签名的安装包不能直接安装到真机上。需要发布到应用市场。无法共享签名文件,每个应用都需要配置一个签名文件。安装包不能手动安装。只能进入shell后通过hdcappinstall或bminstall安装。更多信息请访问:鸿蒙,与华为官方技术社区共建https://harmonyos.51cto.com