HarmonyOS鸿蒙Next中Openharmony平台设备调用Native so报错:Error message:Cannot read property myHypot of undefined
HarmonyOS鸿蒙Next中Openharmony平台设备调用Native so报错:Error message:Cannot read property myHypot of undefined 在Openharmony5.0.0平台设备,HAP调用Native so报错; 同样的HAP在华为P80Pro(harmonyOS 6.0.0)运行正常。



08-05 23:05:32.233 613 676 I C01400/Vsync: PostEvent: First vsync has send to : WM_11159
08-05 23:05:32.233 11159 11159 I C03f01/NAPI: [(native_module_manager.cpp:598)(LoadNativeModule)] key is default/hello
08-05 23:05:32.233 613 613 I C01406/OHOS::RS: DoComposition start time:4678060585680
08-05 23:05:32.233 613 613 E C02510/DISP: [GetMetadata:98] <private> is not supported
08-05 23:05:32.233 613 613 E C02510/DISP: [GetMetadata:98] <private> is not supported
08-05 23:05:32.233 11159 11159 W C03f01/NAPI: [(native_module_manager.cpp:635)(LoadNativeModule)] module ‘hello’ does not in cache
08-05 23:05:32.233 613 613 E C02510/DISP: [GetMetadata:98] <private> is not supported
08-05 23:05:32.233 613 613 E C02510/DISP: [GetMetadata:98] <private> is not supported
08-05 23:05:32.233 613 613 E C02510/DISP: [GetMetadata:98] <private> is not supported
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Open absolute_path library: check ns accessible failed, pathname /system/lib/module/libhello.z.so namespace ndk.
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Error loading header /system/lib/module/libhello.z.so, namespace ndk has no inherits, errno=2
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Error loading header: can’t find library /system/lib/module/libhello.z.so in namespace: default
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: dlopen_impl load library header failed for /system/lib/module/libhello.z.so
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Open absolute_path library: check ns accessible failed, pathname /system/lib/module/libhello_napi.z.so namespace ndk.
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Error loading header /system/lib/module/libhello_napi.z.so, namespace ndk has no inherits, errno=2
08-05 23:05:32.233 11159 11159 E C03f00/MUSL-LDSO: Error loading header: can’t find library /system/lib/module/libhello_napi.z.so in namespace: default
08-05 23:05:32.234 11159 11159 E C03f00/MUSL-LDSO: dlopen_impl load library header failed for /system/lib/module/libhello_napi.z.so
08-05 23:05:32.234 11159 11159 E C03f01/NAPI: [(native_module_manager.cpp:917)(GetFileBuffer)] /system/etc/abc/hello.abc is not existed.
08-05 23:05:32.234 11159 11159 E C03f01/NAPI: [(native_module_manager.cpp:1016)(FindNativeModuleByDisk)] First attempt: load app module failed. Error loading shared library /system/lib/module/libhello.z.so: No such file or directory
08-05 23:05:32.234 11159 11159 E C03f01/NAPI: Second attempt: load app module failed. Error loading shared library /system/lib/module/libhello_napi.z.so: No such file or directory
08-05 23:05:32.234 11159 11159 E C03f01/NAPI: try to load abc file from /system/etc/abc/hello.abc failed
08-05 23:05:32.234 11159 11159 I C03f01/NAPI: [(ark_native_engine.cpp:480)(operator())] First attempt: load app module failed. Error loading shared library /system/lib/module/libhello.z.so: No such file or directory
08-05 23:05:32.234 11159 11159 I C03f01/NAPI: Second attempt: load app module failed. Error loading shared library /system/lib/module/libhello_napi.z.so: No such file or directory
08-05 23:05:32.234 11159 11159 I C03f01/NAPI: try to load abc file from /system/etc/abc/hello.abc failed
08-05 23:05:32.234 11159 11159 E C03f00/ArkCompiler: [default] [LoadNativeModule:464] export objects of native so is undefined, so name is entry
08-05 23:05:32.234 11159 11159 I C03f00/ArkCompiler: [default] [EvaluateNativeModule:491] LoadNativeModule @app:com.example.nativetemplatedemo/entry/hello failed
08-05 23:05:32.234 532 582 E C02510/DISP: [SetLayerVisibleRegion:313] <private> is not supported
08-05 23:05:32.235 532 582 E C02510/DISP: [SetLayerColor:352] <private> layerColor: r=0, g=0, b=0, a=0
更多关于HarmonyOS鸿蒙Next中Openharmony平台设备调用Native so报错:Error message:Cannot read property myHypot of undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next的OpenHarmony平台中,调用Native so库时出现"myHypot of undefined"错误,通常是因为Native API绑定失败或so库未正确加载。请检查以下方面:确保so文件已正确打包到HAP中,native模块在build-profile.json5中正确定义,ArkTS侧与C++层的接口声明完全匹配,且so库针对当前设备架构编译。验证so文件完整性及加载路径是否正确。
更多关于HarmonyOS鸿蒙Next中Openharmony平台设备调用Native so报错:Error message:Cannot read property myHypot of undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
从错误日志分析,问题出现在OpenHarmony 5.0.0平台无法正确加载Native SO库。具体表现为:
- 系统在
/system/lib/module/目录下找不到libhello.z.so和libhello_napi.z.so文件 - 命名空间访问失败,错误代码errno=2(文件不存在)
- 最终导致
myHypot属性读取失败,因为Native模块导出对象为undefined
这可能是由于:
- OpenHarmony 5.0.0与HarmonyOS 6.0.0在Native库加载机制上存在差异
- SO库未正确打包到HAP中或安装路径不匹配
- 平台架构兼容性问题,建议检查SO库是否针对OpenHarmony平台正确编译
建议验证SO库在OpenHarmony 5.0.0设备上的存在性和可访问性,并确认编译目标平台设置正确。

