HarmonyOS鸿蒙Next中友盟SDK虚拟机启动报错:安装HAP时提示“code:9568347 error: install parse native so failed”错误
HarmonyOS鸿蒙Next中友盟SDK虚拟机启动报错:安装HAP时提示“code:9568347 error: install parse native so failed”错误 友盟SDK,虚拟机启动报错:安装HAP时提示“code:9568347 error: install parse native so failed”错误,在/entry/build-profile.json5上添加 “buildOption”: { “externalNativeOptions”: { “abiFilters”: [“arm64-v8a”, “x86_64”] } },不能够解决问题
- 友盟SDK,安装友盟SDK(https://developer.umeng.com/docs/119267/detail/2712046)
- 启动虚拟机(真机无这个问题,但耽误整体团队开发调试)
更多关于HarmonyOS鸿蒙Next中友盟SDK虚拟机启动报错:安装HAP时提示“code:9568347 error: install parse native so failed”错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该问题可能是由于设备支持的Abi类型与C++工程中配置的Abi类型不匹配,请通过如下步骤进行解决。
1、将设备与DevEco Studio进行连接。
2、打开命令行工具,并进入SDK安装目录下的toolchains{版本号}目录下。
若不清楚OpenHarmony SDK安装目录,可单击File > Settings > SDK界面查看安装路径。
3、执行如下命令,查询设备支持的Abi列表,返回结果为default/armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个Abi类型。
hdc shell
param get const.product.cpu.abilist
4、根据查询返回结果,检查模块级build-profile.json5文件中的“abiFilters”参数中的配置,规则如下:
若返回结果为default,请执行如下命令,查询是否存在lib64文件夹。
cd /system/
ls
存在lib64文件夹:则“abiFilters”参数中需要包含arm64-v8a类型。
不存在lib64文件夹:则“abiFilters”参数中需要至少包含armeabi/armeabi-v7a中的一个类型。
若返回结果为armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个,需要在“abiFilters”参数中至少包含返回结果中的一个Abi类型。
若配置"abiFilters": [“arm64-v8a”, “armeabi-v7a”, “x86_64”]的情形下,在启动调试或运行C应用/服务时,安装HAP出现错误,还是提示“error: install parse native so failed”错误信息。需要看下所依赖的C模块libs目录使用有对应的文件夹,没有的话需要编译c++模块生成对应的库,然后再在build-profile.json5文件下进行配置。
参考配置:
1、entry模块下配置:
"buildOption": {
"externalNativeOptions": {
"abiFilters": ["arm64-v8a", "armeabi-v7a", "x86_64"]
}
}
2、C++模块配置:
"buildOption": {
"externalNativeOptions": {
"path": "../src/main/cpp/CMakeLists.txt",
"arguments": "",
"cppFlags": "",
"abiFilters": ["arm64-v8a"]
}
}
在oh-package.json5中将@umeng/analytics 和 "@umeng/common 的依赖关系挪到devDependencies
即
"devDependencies": {
"@ohos/hypium": "1.0.18",
"@ohos/hamock": "1.0.0",
"[@umeng](/user/umeng)/analytics": "1.0.19",
"[@umeng](/user/umeng)/common": "1.0.24"
},
“@umeng/common”: "1.0.24"这个依赖包内有一个libcommon.so未进行x86化,请使用相关依赖的自行编译x86版本。
更多关于HarmonyOS鸿蒙Next中友盟SDK虚拟机启动报错:安装HAP时提示“code:9568347 error: install parse native so failed”错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,友盟SDK虚拟机启动时出现“code:9568347 error: install parse native so failed”错误,通常是由于以下原因之一:
-
SO文件未正确打包或缺失:在HAP包中,SO文件可能未正确打包或缺失,导致安装时无法解析。
-
SO文件架构不匹配:HAP包中的SO文件可能不支持当前虚拟机的CPU架构(如armeabi-v7a、arm64-v8a等),导致安装失败。
-
SO文件路径错误:SO文件的路径配置可能有误,导致系统无法正确加载这些文件。
-
SO文件签名问题:HAP包中的SO文件可能未正确签名,导致安装时验证失败。
-
系统权限问题:虚拟机可能缺乏必要的权限来加载或解析SO文件。
解决方法包括:
- 检查HAP包中的SO文件是否完整且正确打包。
- 确保SO文件支持目标虚拟机的CPU架构。
- 验证SO文件的路径配置是否正确。
- 确保HAP包及其SO文件已正确签名。
- 检查虚拟机的权限设置。
通过以上步骤,可以解决“code:9568347 error: install parse native so failed”错误。
在HarmonyOS鸿蒙Next中,使用友盟SDK时若虚拟机启动报错“code:9568347 error: install parse native so failed”,通常是由于以下原因导致:
-
Native库不兼容:SDK中的Native库(.so文件)与当前鸿蒙系统的ABI(应用二进制接口)不匹配。请确保使用的SDK版本与鸿蒙系统版本兼容。
-
HAP包配置问题:检查
config.json
文件中的abiFilters
配置,确保包含虚拟机支持的ABI类型(如armeabi-v7a
、arm64-v8a
)。 -
虚拟机环境问题:鸿蒙虚拟机可能与某些第三方SDK存在兼容性问题。建议使用真机测试或更新虚拟机版本。
解决方法:
- 确认SDK支持鸿蒙系统。
- 检查并更新
config.json
中的ABI配置。 - 使用真机调试或更新虚拟机至最新版本。