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

news/2025/1/31 2:39:41/

        在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.ppmy.cn/news/108139.html

相关文章

基于gazebo搭建仿真机器人环境

基于gazebo搭建自己的仿真机器人环境 给模型添加多线激光雷达

攻防世界-web-newscenter

题目描述:打开链接,只有一个搜索框,然后就是一条一条新闻的记录 开启burpsuite,我们在搜索框中随便输入点什么,然后进行搜索,看下抓到的包 这里搜索的时候只有一个search参数,查询到的新闻数也变…

小程序、网页跳转App的原理

从不同的渠道,如小程序、二维码、网页等,直接跳转到App内对应的页面,并传递相关的参数信息,已经由拥有深度链接技术的SDK实现了,App只需接入这类SDK即可获得多样化跳转的功能。本文将详细介绍多样化跳转的原理。 多样…

Spring Cloud Zuul 是什么?如何使用它来实现 API 网关?

Spring Cloud Zuul 是什么?如何使用它来实现 API 网关? 在微服务架构中,服务之间的通信变得非常频繁和复杂。为了简化服务之间的通信和管理,很多企业都采用了 API 网关的架构模式。API 网关可以帮助我们统一处理服务的入口、路由…

高压放大器在驱动压电陶瓷进行铝板无损检测中的应用研究

想要达成在不损害或不影响被测对象使用性能及自身性质的前提下,对被测对象内部进行缺陷,结构,失效分析,就得用到无损检测(Non Destructive Testing)技术,最常用的无损检测方法有很多&#xff0c…

查看elf文件的常用命令总结

一,简介 本文主要介绍什么是elf文件,以及查看elf文件内部信息的常用命令。 二,ELF文件介绍 ELF(Excutable Linkable Format)。 ELF文件不仅包括可执行文件还包括动态链接库和静态链接库。 三,常用命令汇…

Java阶段三Day06

Java阶段三Day06 文章目录 Java阶段三Day06同步请求和异步请求案例演示创建SpringBoot工程application.propertiesUserControllerUserMapper静态页面 JSONSpring Security引入SpringSecurity框架对项目的影响关于SpringSecurity的配置默认登录表单设置白名单模拟登录使用自己的…

Python期末复习题库(下)——“Python”

小雅兰期末加油冲冲冲!!! 1. (单选题)下列关于文件打开模式的说法,错误的是( C )。 A. r代表以只读方式打开文件 B. w代表以只写方式打开文件 C. a代表以二进制形式打开文件 D. 模式中使用时,文件可读可写 2. (单选题)下列选项中,以追加…