HarmonyOS鸿蒙Next中用华为云数据库,模拟器启动不了吗

HarmonyOS鸿蒙Next中用华为云数据库,模拟器启动不了吗 有大佬知道,用华为云数据库,DevEco Studio,的模拟器启动不了吗,在build-profile.json5中的buildOption/externalNativeOptions内手动配置abiFilters的值也配置过了还是启动不了。只能用真机调试吗?

Install Failed: error: failed to install bundle.

code:9568347

error: install parse native so failed.

In the module named entry, the Abi type supported by the device does not match the Abi type configured in the C++ project.

View detailed instructions.

01:49:41.983: $ hdc shell rm -rf data/local/tmp/ef771a6c4c6049909d7e077cc1a0fc05

01:49:41.984: Launch com.HYGL.kk failed, starting handle failure progress

Error while Deploy Hap


更多关于HarmonyOS鸿蒙Next中用华为云数据库,模拟器启动不了吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

尊敬的开发者,您好,三方库@hw-agconnect/cloud不支持模拟器(x86_64),其中此三方库还依赖@hw-agconnect/hmcore,您可以查看此路径下

oh_modules/.ohpm/[@hw-agconnect](/user/hw-agconnect)+hmcore@1.0.6/oh_modules/[@hw-agconnect](/user/hw-agconnect)/hmcore/libs

只支持arm64-v8a,所以即使您在build-profile.json5中的buildOption/externalNativeOptions内手动配置abiFilters包含x86_64,也是不会生效的,因为三方库底层都不支持x86_64,同时@hw-agconnect/auth-component三方库也是不支持x86_64。

您可以使用官网推荐的云数据库的操作:云数据库-Cloud Foundation Kit(云开发服务)-应用服务 - 华为HarmonyOS开发者

首次使用云数据库服务前,需要先开通此服务。如果已经开通,可跳过本步骤。具体可以参考:开通云数据库服务-开发准备-Cloud Foundation Kit(云开发服务)-应用服务 - 华为HarmonyOS开发者

从6.0.0(20) Beta5版本开始,本Cloud Foundation Kit支持模拟器,但与真机存在部分能力差异,具体差异如下:

参考链接:Cloud Foundation Kit简介-Cloud Foundation Kit(云开发服务)-应用服务 - 华为HarmonyOS开发者

如果您想要在模拟器上运行云数据库,需要模拟器和IDE版本保持在6.0.0(20) Beta5及其以上。

如果您还是想要使用三方库@hw-agconnect/cloud支持模拟器(x86_64),麻烦您提供如下信息:

请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在哪一个环节遇到了问题?方便说明能力不满足可能带来的影响:什么时间用到?是否高频?有无三方库可以做到?若提供该能力,是否会造成大工作量返工?请您注意提供的内容不要包含您或第三方的非公开信息,如给您带来不便,敬请谅解。

更多关于HarmonyOS鸿蒙Next中用华为云数据库,模拟器启动不了吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


如果 6.1.1(24) 仍然是 install parse native so failed 这类安装阶段错误,优先不要看业务代码,而是看最终 HAP 里的 native so 架构是否和模拟器匹配。

可以这样排:1. 解压最终安装的 HAP,看 libs 目录下有哪些 ABI;2. 确认模拟器是 x86_64 还是 arm64 场景,包里必须有对应架构的 so;3. 检查 ohpm 或三方库是否只带了真机 arm64-v8a 版本;4. 清理 build 缓存后重新打包,避免旧 so 混入。云数据库能力本身已支持较新模拟器,但只要包内任一 native 库架构不匹配,安装阶段就会先失败。

那不要纠结,完全彻底删除DevEco后重启,记得检查路径下有没有文件残留,然后重新安装最新版https://developer.huawei.com/consumer/cn/download/

这个报错重点不是“云数据库只能真机”,而是安装阶段 native so 的 ABI 和模拟器设备 ABI 不匹配。code:9568347 / install parse native so failed 已经说明 HAP 里某个 C++/三方 native 库没有提供当前模拟器可用的 ABI。建议先查最终打包产物里的 libs 目录和 build-profile.json5abiFilters:模拟器是什么 ABI,就必须有对应 so;不要只手动写一个真机 arm64 过滤。若云数据库或其他依赖带了 native 库,也要确认该版本是否支持你当前模拟器架构。云数据库能力可以支持模拟器调试的版本,不代表所有 native 依赖都自动兼容模拟器。

目前的DevEco Studio版本是最新的吗

从6.0.0(20) Beta5版本开始,本Cloud Foundation KitKit支持模拟器,但与真机存在部分能力差异,具体差异如下:

如果版本是6.0.0(20) Beta5及其以上,还是会出现报错的现象,可以提供具体代码看看

cke_3628.png

cke_4296.png

大佬我,版本用6.1.1(24) 也还是不行,需要看那部分代码

能发送的部分

模拟器可以启动,但需确认镜像包含华为移动服务(HMS)及云数据库SDK,并正确配置网络权限。若启动失败,检查模拟器版本是否支持云服务或网络代理设置。

这不是模拟器本身的问题,而是应用中的原生库(.so)架构与模拟器 CPU 架构不匹配导致的安装失败。
错误信息 Abi type supported by the device does not match the Abi type configured 直接说明:模拟器支持的 ABI(如 x86_64)与你 C++ 工程编译的 ABI(通常为 arm64-v8a)不一致。

即使你在 buildOption/externalNativeOptions 中手动配过 abiFilters,若配置值与模拟器实际架构不符,依然会报错。解决步骤:

  1. 确认模拟器架构:DevEco Studio 的本地模拟器默认为 x86_64(性能更好),而真机或远程模拟器多为 arm64-v8a。
  2. 修正匹配:打开 entry 模块的 build-profile.json5,在对应 product 下的 buildOption/externalNativeOptions 中设置 abiFilters["x86_64"](若用本地模拟器)或 ["arm64-v8a"](若用真机/远端)。然后重新编译运行。

不是非得用真机,只要保证 native 库与目标设备 ABI 一致即可。

回到顶部