HarmonyOS鸿蒙Next中有人知道打包后放到移动设备上点击安装有问题,计划什么时候解决么?

HarmonyOS鸿蒙Next中有人知道打包后放到移动设备上点击安装有问题,计划什么时候解决么? 有人知道打包后放到移动设备上点击安装有问题,计划什么时候解决么?

4 回复

开发者你好,为了更快速解决您的问题,并且吸引更多用户一同参与您问题的解答与讨论,建议您补全如下信息:

补全问题现象(如:报错日志(获取方式:xxx)、异常截图、问题背景);

以下是HarmonyOS中HAP包和HSP包如何安装的方案可以参考一下:

【解决方案】

场景一:单HAP包或HSP包安装

  • 如果使用的是模拟器,直接把HAP包拖动到模拟器中即可完成安装。
  • 如果使用的是真机,可以使用以下方式进行安装:
  1. 使用hdc应用管理命令命令,例如:
# 安装一个HAP
hdc install E:\example.hap
# 安装一个HSP
 hdc install E:\example.hsp
  1. 使用bm工具来进行安装,例如:
# 安装一个HAP
bm install -p /data/app/ohos.app.hap
# 覆盖安装一个HAP
bm install -p /data/app/ohos.app.hap -r
# 安装一个应用间共享库
bm install -s xxx.hsp
  1. 使用DevEco Testing工具,连接真机后,选择实用工具,点击开始投屏,点击右侧安装应用即可选择HAP包进行安装。

场景二:多个HAP包或HSP包同时安装

  • 如果包含的HAP和HSP包不多,可以使用命令依次安装,但需要注意先安装HSP包再安装HAP包。
  • 如果包多的情况,可以使用bm install [-p filePath]命令同时安装HAP和应用内共享库。
# 同时安装HAP和应用内共享库
bm install -p /data/app/

简化安装步骤,可以将签名后的hap与应用内共享库hsp放在同一目录下,执行脚本安装,脚本实现参考:

@echo off
setlocal EnableDelayedExpansion
set current_dir=%~dp0
echo %current_dir%
hdc shell rm -rf data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
hdc shell mkdir data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
for /r "%current_dir%" %%i in (*.hsp *.hap) do (
    echo %%~nxi
    echo %%i
    hdc file send %%i "data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3/%%~nxi"
)
hdc shell bm install -p data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
hdc shell rm -rf data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
echo Install Done!
@pause
  • 如果HSP是应用间共享库,可使用bm install [-p filePath] [-s hspDirPath]命令同时安装HAP和应用间共享库。
# 同时安装使用方应用和其依赖的应用间共享库
bm install -p aaa.hap -s xxx.hsp yyy.hsp

【常见FAQ】

Q:什么类型的应用包支持使用hdc命令安装,如何判断? A:如应用不是可调试应用,而是release类型的应用,将不支持指定 bundlename 执行命令相关功能。想确认命令指定的应用是否为可调试应用,可执行hdc shell "bm dump -n bundlename | grep appProvisionType"查询,预期返回信息为"appProvisionType": "debug"

Q:在安装测试包时,无法安装HSP包,报错提示:code:9568284 error:install version not compatible。 A:该问题是由于安装的HSP版本号与HAP版本号不一致导致。安装HSP时要求其版本号与HAP版本号保持一致,因此安装HSP前需要将不一致的HAP卸载后再安装。 注意:如果使用HSP,在安装时会做严格的校验:

  1. bundleName和HAP一致;
  2. apiReleaseType和HAP一致;
  3. version和HAP一致;
  4. 签名和HAP一致,能保证HSP和HAP一致性,是安装成功的关键。

可以通过打包工具统一修改版本号。

Q:debug模式下,hap成功安装需要多次安装相关联的hsp包,hsp包安装非常繁琐,能否和app包类似,直接安装? A:可以在debug模式下,将hap和hsp放到同一个文件目录下,该目录不放别的文件,安装的时候直接安装这个目录即可。

【背景知识】

  • HAP(Harmony Ability Package):HAP是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。
  • HSP(Harmony Shared Package):HSP是动态共享包,包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HSP不支持独立发布,而是跟随宿主应用的APP包一起发布,与宿主应用同进程,具有相同的包名和生命周期。
  • hdc是为开发人员提供的用于调试的命令行工具。
  • Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,bm为开发者提供基本的应用安装包的调试能力。

更多关于HarmonyOS鸿蒙Next中有人知道打包后放到移动设备上点击安装有问题,计划什么时候解决么?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


加油,

鸿蒙Next的安装问题已在华为官方路线图中列为高优先级修复项。具体解决版本需关注官方发布的OTA更新日志,预计下个稳定版推送时会包含此修复。当前临时方案可通过IDE重新签名或调整应用配置参数规避。

目前HarmonyOS Next的安装包部署机制仍在优化中,部分机型在安装过程中可能出现兼容性问题。华为研发团队已在官方社区确认该问题,预计将在下个SDK版本(预计Q4发布)中修复安装验证流程。建议开发者暂时通过IDE直接部署调试,或关注官方更新日志获取具体修复时间表。

回到顶部