HarmonyOS 鸿蒙Next:根据集成指引编译无误但启动app崩溃 报Couldn't create bindings between ETS and CPP libRNOHApp is undefined
HarmonyOS 鸿蒙Next:根据集成指引编译无误但启动app崩溃 报Couldn’t create bindings between ETS and CPP libRNOHApp is undefined 在鸿蒙原生中接入RN框架,第一步根据文档接入的过程中遇到了问题,运行崩溃。
参考接入文档地址:https://gitee.com/openharmony-sig/ohos_react_native/blob/0.72.5-ohos-5.0-release/docs/zh-cn/环境搭建.md
RN项目和原生app环境中环境配置、代码完成后,运行鸿蒙工程,编译过程没有报错,启动 app 时崩溃,log 如下:
Error message:Couldn't create bindings between ETS and CPP. libRNOHApp is undefined.
Stacktrace:
at RNOHError (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNOHError.ts:31:5)
at FatalRNOHError (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNOHError.ts:1:10)
at onInit (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/NapiBridge.ts:83:19)
at create (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNInstancesCoordinator.ets:112:7)
at onCreate (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNAbility.ets:89:35)
在参考【运行类FAQ】https://gitcode.com/openharmony-sig/ohos_react_native/blob/master/docs/zh-cn/faqs/运行类FAQ.md 时,检查了本地 librnoh_app.so 存在,且 libhermes.so 也被正确打到了包里,根据指引打开了 IDE 的错误增强功能,log 中显示的报错如下:
Error message:First attempt: load app module failed. do_dlsym failed: Symbol not found: NAPI_net_http_GetABCCode, version: null so=/system/lib64/module/net/libhttp.z.so
Second attempt: load app module failed. Error loading path /system/lib64/module/librnoh_app_napi.z.so:No such file or directory
try to load abc file from /system/etc/abc/rnoh_app.abc failed
Stacktrace:
at onInit (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/NapiBridge.ts:90:12)
at create (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNInstancesCoordinator.ets:112:7)
at onCreate (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.72.46/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNAbility.ets:89:35)
更多关于HarmonyOS 鸿蒙Next:根据集成指引编译无误但启动app崩溃 报Couldn't create bindings between ETS and CPP libRNOHApp is undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
{
"externalNativeOptions": {
"path": "./src/main/cpp/CMakeLists.txt",
"arguments": "-DCMAKE_BUILD_TYPE=Release",
"cppFlags": "",
"abiFilters": ["arm64-v8a", "x86_64"]
}
},
如果在 windows 系统使用模拟器运行 App,是否 abiFilters 没有添加 x86_64 架构?
更多关于HarmonyOS 鸿蒙Next:根据集成指引编译无误但启动app崩溃 报Couldn't create bindings between ETS and CPP libRNOHApp is undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题中提到的“HarmonyOS 鸿蒙Next:根据集成指引编译无误但启动app崩溃 报Couldn’t create bindings between ETS和CPP libRNOHApp is undefined”问题,这里给出直接的专业回答:
该错误提示表明在ETS(Extensible TypeScript)和CPP库之间创建绑定时出现了问题,具体是libRNOHApp
这个库未被正确识别或链接。可能的原因包括:
-
库文件缺失或路径错误:检查
libRNOHApp
库文件是否存在于项目中,并且其路径是否被正确配置在编译环境中。 -
编译配置问题:确保在
build.gn
或相关编译配置文件中正确引用了该库,并且其编译选项与项目其他部分兼容。 -
版本不兼容:如果
libRNOHApp
是第三方库,检查其版本是否与当前使用的HarmonyOS SDK版本兼容。 -
符号链接问题:在编译过程中,可能存在符号链接未被正确处理的情况,导致运行时找不到对应的库文件。
解决这类问题通常需要详细检查编译日志,确认每一步的编译输出,以定位问题根源。
如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html,