HarmonyOS鸿蒙Next中不知道为什么出现error: failed to install bundle. code:9568347

HarmonyOS鸿蒙Next中不知道为什么出现error: failed to install bundle. code:9568347 今天使用模拟器调试会提示错误,无法启动模拟器

error: failed to install bundle. code:9568347

error: install parse native so failed

也按照官网的提示https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-app-debugging-14-V5,进行修改了

{
  "apiType": "stageMode",
  "buildOption": {
    "externalNativeOptions": {
      "abiFilters": ["arm64-v8a", "x86_64"]
    }
  },
  "buildOptionSet": [
    {
      "name": "release",
      "arkOptions": {
        "obfuscation": {
          "ruleOptions": {
            "enable": false,
            "files": [
              "./obfuscation-rules.txt"
            ]
          }
        }
      }
    },
  ],
  "targets": [
    {
      "name": "default"
    },
    {
      "name": "ohosTest",
    }
  ]
}

不知道怎么处理了,百度的都不行,

有没有大神帮帮忙。


更多关于HarmonyOS鸿蒙Next中不知道为什么出现error: failed to install bundle. code:9568347的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

【背景知识】 不同架构的模拟器使用三方库时,三方库需要支持模拟器对应的架构。

【问题定位】 1、根据日志信息分析错误编码9568347可知:解析本地so失败。 2、根据使用的三方库信息,在OpenHarmony三方库中心仓中查询上述三方库是否均支持使用的模拟器的系统架构。

【修改建议】 三方库不支持模拟器架构的情况,使用真机调试。

更多关于HarmonyOS鸿蒙Next中不知道为什么出现error: failed to install bundle. code:9568347的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


错误代码9568347通常表示应用签名问题。请检查签名文件是否有效,确保签名证书未过期,且与应用的bundleName匹配。确认签名配置正确,包括正确的证书路径和密码。如果使用调试签名,请确保设备已授权安装未签名的应用。

这个错误 error: failed to install bundle. code:9568347error: install parse native so failed 通常与原生库(Native SO库)的ABI架构不匹配有关。

根据您提供的 build-profile.json5 配置,您设置了 "abiFilters": ["arm64-v8a", "x86_64"]。这表示您的HAP包中会包含为这两种CPU架构编译的原生库。

问题最可能的原因是:您运行的模拟器(或真机)的ABI架构,与您HAP包中实际存在的原生库ABI不匹配。

请按以下步骤排查:

  1. 确认模拟器架构:在DevEco Studio的Device Manager中,查看您正在使用的模拟器的具体型号和ABI。通常,本地模拟器多为x86_64架构,而远程模拟器或真机为arm64-v8a架构。

  2. 检查HAP包内容

    • 编译项目后,找到生成的HAP文件(通常在 项目目录/build/default/outputs/default/ 下)。
    • .hap 文件后缀改为 .zip 并解压。
    • 查看 libs 目录下的结构。正确的结构应该类似于 libs/arm64-v8a/xxx.solibs/x86_64/xxx.so。请确认这两个子目录及其中的 .so 文件是否确实存在。
  3. 关键排查点

    • 如果您的项目没有使用任何原生C/C++代码(即没有cpp目录),那么就不应该配置 externalNativeOptionsabiFilters。这个配置可能会让打包工具去寻找并不存在的原生库,从而导致错误。请尝试直接删除整个 "externalNativeOptions" 配置块,然后清理项目(Build -> Clean Project)并重新运行。
    • 如果您的项目使用了原生C/C++代码,请确保您的 CMakeLists.txtndk-build 配置正确,并且已成功为 arm64-v8ax86_64 两种ABI生成了对应的 .so 文件。
  4. 匹配架构:确保您运行的模拟器类型,包含在您 abiFilters 配置的列表中。例如,运行 x86_64 模拟器时,HAP中必须包含 x86_64 的原生库。

总结:优先检查您的项目是否真的包含原生代码。如果没有,删除 abiFilters 配置是最可能的解决方案。如果有,请核对模拟器架构与生成的库架构是否一致。

回到顶部