Android ReactNative java.lang.UnsatisfiedLinkError:can find DSO to load: libreactnativejni.so

2022-09-01 03:00:00

我一直在尝试将ReactNative添加到我现有的Android应用程序中。我按照链接中的说明进行操作。我可以添加它,但是一旦我打开react本机活动,应用程序就会崩溃。我已经启动了服务器使用

adb reverse tcp:8081 tcp:8081

并开始使用 react-native

react-native start

我得到一个js文件正在加载的对话。但最终以崩溃告终。以下是在 logcat 中打印的错误:

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libreactnativejni.so
    at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:213)
    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:178)
    at com.facebook.react.bridge.JSCJavaScriptExecutor.<clinit>(JSCJavaScriptExecutor.java:19)
    at com.facebook.react.ReactInstanceManager.onJSBundleLoadedFromServer(ReactInstanceManager.java:413)
    at com.facebook.react.ReactInstanceManager.createReactContextInBackground(ReactInstanceManager.java:236)

我完全迷失了,因为我无法找出此问题的原因。

提前致谢。


答案 1

实际上,在我的情况下,这些步骤有效:

  1. 从设备中卸载应用程序
  2. 关闭Metro Bundler
  3. 在安卓目录上运行./gradlew clean
  4. react-native run-android

希望能帮到你。


答案 2

这已经解决了我的问题:

   ndk {
        abiFilters 'armeabi-v7a', 'x86'
    }

这应该放在默认配置部分。build.gradle


推荐