从零学习RN for OpenHarmony踩坑日记(四)
在模拟器启动工程,遇到了一个很棘手的错误,报错如下:Reason:ErrorError name:ErrorError message:Couldn't create bindings between ETS and CPP. libRNOHApp is undefined.Stacktrace:at RNOHError @rnoh/react-native-openharmony (oh_mod
错误内容:
在模拟器启动工程,遇到了一个很棘手的错误,报错如下:
Reason:Error
Error name:Error
Error message:Couldn't create bindings between ETS and CPP. libRNOHApp is undefined.
Stacktrace:
at RNOHError @rnoh/react-native-openharmony (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.77.40/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNOHError.ts:41:5)
at FatalRNOHError @rnoh/react-native-openharmony (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.77.40/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNOHError.ts:150:7)
at onInit @rnoh/react-native-openharmony (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.77.40/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/NapiBridge.ts:37:25)
at create @rnoh/react-native-openharmony (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.77.40/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNInstancesCoordinator.ets:125:18)
at onCreate @rnoh/react-native-openharmony (oh_modules/.ohpm/@rnoh+react-native-openharmony@0.77.40/oh_modules/@rnoh/react-native-openharmony/src/main/ets/RNOH/RNAbility.ets:94:58)
错误原因:
无法在ETS(ArkTS)和CPP之间创建绑定,原因可能是动态库librnoh_app.so缺失或配置不正确。
解决方案:
尝试以下解决方案:
1、当前deveco编译,har包A的so依赖了har包B的so,但是har包A不会打包Har包B的so到的har包A里,需要在自定义模块/build-profile.json5中增加:
"nativeLib": {
// apiType字段同级别
"excludeFromHar": false
}
但是我在向在模块级build-profile.json5代码中增加配置时,报出以下错误:

找不到该项配置,只能将其改为
"nativeLib": {
"excludeSoFromInterfaceHar": false
}
但是clean后重新执行没有任何效果,还是一样的错误。
工程级build-profile.json5代码中可以增加该配置,但是一样没有效果。

2、将oh_modules/@rnoh/react-native-openharmony/src/main/cpp/third-party/prebuilt目录下的内容拷贝到oh_modules/@rnoh/react-native-openharmony/libs目录,并重新build,也没有效果。
最终解决方案:
初步估计是安装@rnoh/react-native-openharmony时出现的问题导致。安装@rnoh/react-native-openharmony曾报错说版本不匹配,被我使用--force方式强行安装成功。
但是卸载@rnoh/react-native-openharmony还是存在这个bug,因此我重新创建了一个application,这次安装@rnoh/react-native-openharmony时注意了版本匹配问题,重新创建的applicantion可以正常运行。
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
更多推荐



所有评论(0)