HarmonyOS 鸿蒙Next模拟器上无法运行
HarmonyOS 鸿蒙Next模拟器上无法运行
连上真机测试没有问题,模拟器上如果abi用默认的arm64则会报错9568347,如果改为x86_64,则报错hvigor ERROR: Failed :entry:default@BuildNativeWithNinja… > hvigor ERROR: Exceptions happened while executing: ninja
请问这是什么问题呢?不想每次都真机测试
使用非 ARM 架构设备(如 M1/M2 芯片的 Mac)编译时,可能因缺少兼容层导致执行失败
验证编译目标设备是否与 SDK 支持的架构一致
abi默认使用 arm64-v8a 报错 code:9568347
模拟器默认运行于 x86_64 架构,楼主工程仅配置 arm64-v8a 或未包含 x86_64,会导致安装解析SO文件失败。
执行以下命令获取设备支持的ABI列表,如果返回包含 x86_64,则需在工程中配置该ABI。
hdc shell param get const.product.cpu.abilist
并在模块级 build-profile.json5 中添加 abiFilters,确保包含 x86_64:
"buildOption": {
"externalNativeOptions": {
"abiFilters": ["arm64-v8a", "x86_64"]
}
}
配置 x86_64 后的构建失败
第三方库未提供 x86_64 架构支持;CMake配置缺失或参数错误。
如果楼主工程依赖第三方库,需确认其是否支持 x86_64。可以暂时注释第三方库,测试基础功能是否正常。
在 build-profile.json5 中添加 cppFlags 参数:
"externalNativeOptions": {
"cppFlags": "-mfloat-abi=hard"
}
很明显你引入的so库不支持X86芯片(模拟器),需要用真机测试,目前是这个情况,如果你想测试与此无关的业务,可以暂时屏蔽相关代码进行测试
鸿蒙Next模拟器无法运行可能由以下原因导致:
- 模拟器镜像损坏,需重新下载;
- 电脑未开启VT虚拟化技术;
- 显卡驱动不兼容;
- 系统资源不足(内存/存储空间不足);
- 鸿蒙IDE版本与模拟器版本不匹配。
请检查日志文件确认具体错误,并确保开发环境配置符合官方要求。
根据您描述的情况,在HarmonyOS Next模拟器上遇到的运行问题主要有两个关键错误:
- 使用arm64 ABI时出现的9568347错误
- 使用x86_64 ABI时的ninja构建失败
建议检查以下几点:
- 确保您的开发环境配置正确:
- 确认已安装最新版本的HarmonyOS SDK
- 检查模拟器版本与SDK版本是否匹配
- 对于arm64错误:
- 尝试清理项目并重新构建
- 检查项目配置中是否包含不兼容的arm64依赖
- 对于x86_64的ninja构建失败:
- 查看完整的构建日志,定位具体失败原因
- 确认NDK版本是否与HarmonyOS Next兼容
- 检查native代码是否有平台相关限制
- 其他建议:
- 尝试创建一个全新的简单项目测试模拟器运行
- 检查系统环境变量设置是否正确
这些错误通常与环境配置或项目设置有关,建议从基础环境检查开始排查。