HarmonyOS 鸿蒙Next使用DevEco模拟器运行应用报错error: install parse native so failed.请知道的大佬指导下怎么 解决。

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next使用DevEco模拟器运行应用报错error: install parse native so failed.请知道的大佬指导下怎么 解决。

08/07 09:08:02:514: build task in 34 s 406 ms

08/07 09:08:02:516: Launching com.dingduanharmony.dingxinwenphone

08/07 09:08:02:520: $ hdc shell aa force-stop com.dingduanharmony.dingxinwenphone

08/07 09:08:02:832: $ hdc shell mkdir data/local/tmp/8aa1b4e51c2c433b9f965d25b94ae172

08/07 09:08:05:317: $ hdc file send E:\dingxinwen-harmonyos\DingxinwenNews\entry\build\default\outputs\default\entry-default-signed.hap “data/local/tmp/8aa1b4e51c2c433b9f965d25b94ae172” in 2 s 485 ms

08/07 09:08:09:183: $ hdc shell bm install -p data/local/tmp/8aa1b4e51c2c433b9f965d25b94ae172  in 3 s 866 ms

08/07 09:08:09:186: Install Failed: error: failed to install bundle.

code:9568347

error: install parse native so failed.

08/07 09:08:09:191: View detailed instructions.

08/07 09:08:09:670: $ hdc shell rm -rf data/local/tmp/8aa1b4e51c2c433b9f965d25b94ae172

Error while Deploy Hap

08/07 09:08:09:683: Launch com.dingduanharmony.dingxinwenphone failed, starting handle failure progress


更多关于HarmonyOS 鸿蒙Next使用DevEco模拟器运行应用报错error: install parse native so failed.请知道的大佬指导下怎么 解决。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

这个报错是由于工程编译出的so的abi类型和Next样机支持的abi类型不匹配导致的,工程编译出的so的类型在如下链接的abiFilters里配置

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/build-with-ndk-ide-V5#externalnativeoptions

注:windows模拟器支持的abi是x86_64

具体排查指导如下

分析可能原因是由于设备支持的Abi类型与C++工程中配置的Abi类型不匹配导致,请通过如下步骤进行解决

1.执行hdc命令: 

hdc shell param get const.product.cpu.abilist

2.若返回结果为armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个,需要在build-profile.json5文件中"buildOption"属性下添加"abiFilters"参数中至少包含返回结果中的一个Abi类型 

"externalNativeOptions": {

  "abiFilters": ["armeabi-v7a", "arm64-v8a","x86_64"]

}

返回的结果为default,则hdc shell登陆控制台后执行下面的命令

cd /system/

ls

查询是否存在lib64文件夹

(1)若存在lib64文件夹:则"abiFilters"参数中需要包含arm64-v8a类型

(2)若不存在lib64文件夹:则"abiFilters"参数中需要至少包含armeabi\armeabi-v7a中的一个类型

3. 如果还是报错,则可能是三方依赖的so的abi导致,以下是一个windows模拟器上定位abi不匹配的例子,看看是否能游借鉴

如果执行hdc命令之后返回x86_64,配置了"abiFilters"属性后启动还是报错

查看每个模块中引用三方依赖build之后的文件

发现在oh-package.json5中引入的依赖"umeng" build之后类型是arm的包,没有x86的包,所以报错

    

处理方法:1.更换x86环境所需的依赖包 2.使用真机调试

更多关于HarmonyOS 鸿蒙Next使用DevEco模拟器运行应用报错error: install parse native so failed.请知道的大佬指导下怎么 解决。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS鸿蒙Next在DevEco模拟器上运行应用时出现的“error: install parse native so failed”错误,通常是因为模拟器与应用的ABI(应用程序二进制接口)类型不匹配。解决方法包括:

  1. 检查并配置ABI过滤器:在项目的build-profile.json5文件中,检查并正确配置externalNativeOptions下的abiFilters,确保它包含了模拟器支持的ABI类型,如"arm64-v8a""x86_64"
  2. 使用真机调试:如果模拟器配置无误但问题依旧,建议尝试在真机上运行应用,因为某些高级功能或第三方库可能不支持模拟器。

如果问题依旧没法解决,请加我微信,我的微信是itying888。

更多关于HarmonyOS 鸿蒙Next使用DevEco模拟器运行应用报错error: install parse native so failed.请知道的大佬指导下怎么 解决。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


回到顶部