【HarmonyOS】hap包在多台设备中安装和HarmonyOS应用含多个module安装问题

news/2024/7/21 10:38:40 标签: harmonyos, 华为

        在HarmonyOS应用开发过程中,大家会遇到一些hap安装问题,如多模块hap包存在调用如何在模拟器上统一运行、或者同一hap包如何在多台设备运行问题等,这里汇总一些hap安装问题解答,供大家参考。

【问题1】我的HarmonyOS工程创建了多个module,构建出的.app包,如何在模拟器上安装?

        .app包是由一个或多个HAP以及描述每个HAP属性的pack.info组成,模拟器无法通过命令方式安装.app包,需要使用DevEco Studio打开HarmonyOS工程后,直接运行安装。

        此外,若您的应用只有一个module,连接模拟器后,直接运行安装即可;若您的应用创建多个module,需要同事安装多个模块的hap包到设备中,您可参考下方步骤配置后,再重新运行项目

步骤1:使用3.1.0.400及以上版本DevEco Studio,打开项目工程;

步骤2:单击Run > Edit Configurations,在Deploy Multi Hap中,勾选Deploy Multi Hap Packages,选择多个模块。

注意:低版本IDE此处勾选项置灰,表示低版本尚不支持此功能,您可下载最新版IDE:

DevEco Studio历史版本下载-HarmonyOS应用开发官网

步骤3:完成勾选配置后,连接模拟器,重新运行即可。

参考文档:

文档中心:设置HAP安装方式

【问题2】如何可以让同一个hap包支持在多部手机设备成功安装?为什么我的hap包在另外一台手机上安装失败?

    若您的应用暂不需要在开发者联盟中发布上架,仅用于HarmonyOS开发学习,您可采取自动签名方案,自动签名步骤参考如下文档:文档中心:自动签名;自动签名方式不需要再AGC上申请应用,不需给您的应用创建appid。注意:一个帐号最多可申请两个调试证书,您需要至少预留一个调试证书位置才可自动签名成功,若您自动签名失败,请检查您的帐号中“证书管理”是否已申请了两个调试证书。

        若您的应用已在AGC上申请应用,需要使用手动签名方式,将应用appid与签名信息关联,在发布HarmonyOS应用前,建议您在本地进行调试,您需要提前申请相应的调试证书与调试Profile给HAP进行签名后,才可安装到设备上运行。若您想要同意hap包在多台设备中安装运行,您需要将多台设备UDID添加到“设备管理”中,请参考下方步骤4。

        1)生成密钥和证书请求文件。首先您需要生成密钥和证书请求文件,您可通过“使用DevEco Studio生成密钥和证书请求文件”和“使用命令行工具生成证书请求文件”两种方式,这两种方式操作步骤参考文档:文档中心:生成密钥和证书请求文件。完成此步骤后,我们已经生成签名所需要的.p12和.csr文件了。

        2)创建HarmonyOS应用。您需要在AGC上创建HarmonyOS应用,创建步骤参考文档:

文档中心:创建应用。

    3)申请调试证书。第一步我们已经生成证书请求文件,即CSR文件,您需要使用此文件在AGC上申请调试证书,操作步骤参考文档:文档中心:申请调试证书。完成后您需要点击“下载”,下载证书即可,下载成功您便得到数字证书.cer文件;注意此证书有有效期,若您安装应用失败提示签名错误,请检查此证书是否过期,过期后可废除重新申请下载即可。

        4)注册调试设备。若您想要在多个设备中运行您的HarmonyOS应用,此步骤就比较关键了。您需要在AGC的“设备管理”中添加所有调试设备的UDID,添加步骤请参考文档:

文档中心:注册调试设备。注意若在调试阶段需要一个hap在多台设备中运行,需要将所有设备的UDID都添加到设备管理中,然后申请调试Profile时选择所有设备的UDID即可。

        5)申请调试Profile,即申请.p7b Profile文件。完成前面步骤后,您可选择证书和设备UDID,申请调试Profile文件,申请成功后,您可下载Profile文件,即.p7b文件,操作步骤参考文档:

文档中心:申请调试Profile

        6)运行HarmonyOS应用。到此,就已经完成所有手动签名文件的获取,您可在DevEco Studio中配置签名相关文件,操作步骤参考文档:

文档中心:手动配置签名信息

【知识拓展】

1、签名证书基本概念说明

HarmonyOS应用/服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/服务的完整性,完成签名共需要四种类型的文件:.p12、.csr、.cer、.p7b这四种类型文件,下面对这四种类型文件进行基本概念说明。

  • 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。
  • Profile文件:格式为.p7b,包含HarmonyOS应用/服务的包名、数字证书信息、描述应用/服务允许申请的证书权限列表,以及允许应用/服务调试的设备列表(如果应用/服务类型为Release类型,则设备列表为空)等内容,每个应用/服务包中均必须包含一个Profile文件。

参考文档:

文档中心:准备签名文件

2、UDID获取方法

参考文档:

文档中心:UDID获取方法

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh 


http://www.niftyadmin.cn/n/375851.html

相关文章

大前端之Koa2学习

Koa2框架介绍 Koa2是一个基于Node.js的Web框架,它使用了ES6的语法和async/await特性,使得编写异步代码更加简单和优雅。Koa2的核心思想是中间件,它允许开发者将应用程序拆分成小的、可重用的部分,从而使得代码更加模块化和易于维…

java服务端如何接入WebSocket?

日常工作中,我们都是使用http请求,来进行前后交互,那么我们也会有使用websocket来进行前后交互的时候,那么它俩有什么区别呢? http和websocket区别 WebSocket是双向通信协议,模拟Socket协议,可…

趣味LFS实验部署

LFS文件准备 LFS项目官方网站:https://www.linuxfromscratch.org/ 查找宿主系统必须安装的软件包 https://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-11.1-NOCHUNKS.html 安装依赖: #先来看看我此处的Yum仓库环境: CentOS-…

更改测试用例执行顺序的几种自动化方法

前言 在自动化测试中,自动化测试用例设计原则就是执行过程时不能存在依赖顺序,那么如果测试用例需要按照指定顺序执行,这个时候应该怎么做呢?目前单元测试框架中unittest没有办法改变测试用例的执行顺序,但是另一个单…

【满分】【华为OD机试真题2023B卷 JAVAJS】篮球比赛

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 篮球比赛 知识点广搜 时间限制:1s 空间限制:64MB 限定语言:不限 题目描述: 篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。现有10个球员准备分为两队进行训练赛,教练希…

Vulkan Tutorial 7 纹理贴图

目录 23 图像 图片库 暂存缓冲区 纹理图像 布局转换 将缓冲区复制到图像上 准备纹理图像 传输屏障掩码 清除 24 图像视图和采样器 纹理图像视图 采样器 Anisotropy 设备特征 25 组合图像采样器 更新描述符 纹理坐标系 着色器 23 图像 添加纹理将涉及以下步骤&am…

是德KEYSIGHT N9918A、N9917A 手持式射频和微波组合分析仪

是德(KEYSIGHT) N9917A,N9918A 手持式射频和微波组合分析仪 Keysight N9918A FieldFox 组合分析仪能够处理日常维护、深度故障排除以及介于两者之间的任何事情。Keysight N9918A (Agilent) FieldFox 可随时随地为您提供高质量测量。将 FieldFox N9918A 添加到您的故…

Django实现接口自动化平台(二)认证授权【持续更新中】

上一章: Django实现接口自动化平台(一)日志功能【持续更新中】_做测试的喵酱的博客-CSDN博客 下一章: 一、认证与授权配置 1、认证:获取权限的方式 2、授权:通过认证之后,可以获取哪些权限 …