HarmonyOS鸿蒙Next中运行报错:Error message:Cannot read property add of undefined
HarmonyOS鸿蒙Next中运行报错:Error message:Cannot read property add of undefined
在DevEco Studio里使用模版新建项目,选择模版Native C++,其他默认,
然后直接运行(PC连接的是DUYU200开发板(RK3568))
签名使用默认配置直接点击OK,
运行报错:


hilog如下:
08-05 17:49:33.366 591 663 I C01400/Vsync: PostEvent: First vsync has send to : WM_15254
08-05 17:49:33.366 591 591 I C01406/OHOS::RS: DoComposition start time:2963880989070
08-05 17:49:33.366 591 591 E C02510/DISP: [0;32;31m[GetMetadata:98] <private> is not supported[m
08-05 17:49:33.366 591 591 E C02510/DISP: [0;32;31m[GetMetadata:98] <private> is not supported[m
08-05 17:49:33.366 591 591 E C02510/DISP: [0;32;31m[GetMetadata:98] <private> is not supported[m
08-05 17:49:33.366 591 591 E C02510/DISP: [0;32;31m[GetMetadata:98] <private> is not supported[m
08-05 17:49:33.366 15254 15254 I C03f01/NAPI: [(native_module_manager.cpp:598)(LoadNativeModule)] key is default/entry
08-05 17:49:33.366 591 591 E C02510/DISP: [0;32;31m[GetMetadata:98] <private> is not supported[m
08-05 17:49:33.366 15254 15254 W C03f01/NAPI: [(native_module_manager.cpp:635)(LoadNativeModule)] module ‘entry’ does not in cache
08-05 17:49:33.366 15254 15254 E C03f00/MUSL-LDSO: Open absolute_path library: check ns accessible failed, pathname /system/lib/module/libentry.z.so namespace ndk.
08-05 17:49:33.366 15254 15254 E C03f00/MUSL-LDSO: Error loading header /system/lib/module/libentry.z.so, namespace ndk has no inherits, errno=2
08-05 17:49:33.366 15254 15254 E C03f00/MUSL-LDSO: Error loading header: can’t find library /system/lib/module/libentry.z.so in namespace: default
08-05 17:49:33.366 15254 15254 E C03f00/MUSL-LDSO: dlopen_impl load library header failed for /system/lib/module/libentry.z.so
08-05 17:49:33.367 15254 15254 E C03f00/MUSL-LDSO: Open absolute_path library: check ns accessible failed, pathname /system/lib/module/libentry_napi.z.so namespace ndk.
08-05 17:49:33.367 15254 15254 E C03f00/MUSL-LDSO: Error loading header /system/lib/module/libentry_napi.z.so, namespace ndk has no inherits, errno=2
08-05 17:49:33.367 15254 15254 E C03f00/MUSL-LDSO: Error loading header: can’t find library /system/lib/module/libentry_napi.z.so in namespace: default
08-05 17:49:33.367 15254 15254 E C03f00/MUSL-LDSO: dlopen_impl load library header failed for /system/lib/module/libentry_napi.z.so
08-05 17:49:33.367 15254 15254 E C03f01/NAPI: [(native_module_manager.cpp:917)(GetFileBuffer)] /system/etc/abc/entry.abc is not existed.
08-05 17:49:33.367 15254 15254 E C03f01/NAPI: [(native_module_manager.cpp:1016)(FindNativeModuleByDisk)] First attempt: load app module failed. Error loading shared library /system/lib/module/libentry.z.so: No such file or directory
08-05 17:49:33.367 15254 15254 E C03f01/NAPI: Second attempt: load app module failed. Error loading shared library /system/lib/module/libentry_napi.z.so: No such file or directory
08-05 17:49:33.367 15254 15254 E C03f01/NAPI: try to load abc file from /system/etc/abc/entry.abc failed
08-05 17:49:33.367 15254 15254 I C03f01/NAPI: [(ark_native_engine.cpp:480)(operator())] First attempt: load app module failed. Error loading shared library /system/lib/module/libentry.z.so: No such file or directory
08-05 17:49:33.367 15254 15254 I C03f01/NAPI: Second attempt: load app module failed. Error loading shared library /system/lib/module/libentry_napi.z.so: No such file or directory
08-05 17:49:33.367 15254 15254 I C03f01/NAPI: try to load abc file from /system/etc/abc/entry.abc failed
08-05 17:49:33.367 15254 15254 E C03f00/ArkCompiler: [default] [LoadNativeModule:464] export objects of native so is undefined, so name is entry
08-05 17:49:33.367 15254 15254 I C03f00/ArkCompiler: [default] [EvaluateNativeModule:491] LoadNativeModule @normalized:Y&&&libentry.so& failed
08-05 17:49:33.368 534 588 E C02510/DISP: [0;32;31m[SetLayerVisibleRegion:313] <private> is not supported[m
08-05 17:49:33.368 534 588 E C02510/DISP: [0;32;31m[SetLayerColor:352] <private> layerColor: r=0, g=0, b=0, a=0[m
08-05 17:49:33.368 534 588 E C02510/DISP: [0;32;31m[SetLayerColor:353] <private> is not supported[m
更多关于HarmonyOS鸿蒙Next中运行报错:Error message:Cannot read property add of undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该错误通常由未正确初始化的对象引起。在HarmonyOS Next中,检查以下可能原因:
- 组件生命周期问题:在aboutToAppear或onPageShow等生命周期函数中确保对象已完成初始化
- 状态变量未定义:使用@State、@Link装饰的变量需确保初始值正确设置
- 异步操作时序:异步回调中访问对象前需验证其存在性
- 自定义组件未正确挂载:检查组件是否已在build函数中正确定义
建议使用条件判断确保对象存在后再调用add方法,例如:obj?.add()或if(obj){obj.add()}。
更多关于HarmonyOS鸿蒙Next中运行报错:Error message:Cannot read property add of undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
根据hilog日志分析,错误的核心原因是系统无法加载Native C++模块所需的动态库文件。日志显示:
- 系统在
/system/lib/module/路径下找不到libentry.z.so和libentry_napi.z.so文件 - 同时也无法找到
/system/etc/abc/entry.abc文件
这通常是由于以下原因造成的:
编译配置问题:检查项目的 build-profile.json5 文件,确认 Native C++ 模块的编译配置是否正确。确保 externalNativeOptions 中的 path 指向正确的 CMakeLists.txt 文件。
签名配置问题:虽然使用了默认签名,但需要确认签名配置是否支持 Native 能力。在 module.json5 中检查 "abilities" 下的 "type" 字段是否为 "page",并且 "srcEntry" 指向正确的入口文件。
设备兼容性:DUYU200开发板(RK3568)可能需要特定的系统镜像版本。确认开发板上的HarmonyOS Next系统版本与DevEco Studio中配置的SDK版本匹配。
建议重新生成Native C++项目,检查CMakeLists.txt中的目标库名称是否与代码中的调用一致,确保编译后生成的so文件能正确部署到设备。

