首页 > 解决方案 > java.lang.UnsatisfiedLinkError:找不到要加载的 DSO:libfbjni.so 结果:0

问题描述

我创建了一个新的 react-native 项目并将我的 android 本机模块添加为依赖项。使用官方文档https://reactnative.dev/docs/native-modules-setup

当我运行它时,我得到以下堆栈跟踪的错误:

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
        at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:25)
        at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:44)
        at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25) 

以下是我的package.json

{
  "name": "albums",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "axios": "^0.19.2",
    "react": "16.11.0",
    "react-native": "0.62.0-rc.5",
    "react-native-my-fancy-library": "../react-native-my-fancy-library/"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@babel/runtime": "^7.9.2",
    "@react-native-community/eslint-config": "^1.0.0",
    "babel-jest": "^25.3.0",
    "eslint": "^6.8.0",
    "jest": "^25.3.0",
    "metro-react-native-babel-preset": "^0.59.0",
    "react-test-renderer": "16.11.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

我已经尝试过:

https://stackoverflow.com/a/61695629/9715339

https://stackoverflow.com/a/57155606/9715339

https://github.com/facebook/react-native/issues/25415

但这些都没有解决我的问题。

我是 react-native 的初学者。所以我不知道我需要在这里发布哪些其他详细信息文件。如果您需要任何其他文件,请告诉我。

标签: react-nativereact-native-android

解决方案


对我来说,以下两个解决了它(我认为是后者做到了):

  1. 重置缓存:react-native start --reset-cache
  2. 清洁安卓:cd android->./gradlew clean

推荐阅读