- 如果工程有依赖HSP或者HAR模块,请确保所有包含C++代码的模块配置的ABI类型包含设备支持的ABI类型。
- 如果工程依赖的三方库包含so文件,请确保oh_modules/三方库/libs目录包含有设备支持的ABI目录,如libs/arm64-v8a、/libs/x86_64。
- 对于HarmonyOS应用,在DevEco Studio NEXT Developer Beta1(5.0.3.200)及以上版本不支持编译armeabi-v7a架构的so文件。
问题现象
在启动调试或运行C++应用/服务时,安装HAP出现错误,提示“error: install parse native so failed”错误信息,或者运行时提示“TypeError:Cannot read property xxx of undefined”错误。
解决措施
该问题可能是由于设备支持的ABI类型与C++工程中配置的ABI类型不匹配导致,请通过如下步骤进行解决。
典型场景:
从4.1.3.400版本开始,abiFilters字段缺省配置为"arm64-v8a",将默认只编译arm64-v8a一种ABI,若设备不支持64位ABI,构建出的包将无法运行在设备上,请根据设备支持的ABI,在build-profile.json5中的buildOption/externalNativeOptions内手动配置abiFilters的值。
- // HarmonyOS工程
- "buildOption": {
- "externalNativeOptions": {
- "abiFilters": ["arm64-v8a", "x86_64"]
- },
- }
- // OpenHarmony工程
- "buildOption": {
- "externalNativeOptions": {
- "abiFilters": ["arm64-v8a", "x86_64", "armeabi-v7a"]
- },
- }
通用场景:
- hdc shell
- param get const.product.cpu.abilist
- cd /system/
- ls

合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功