java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
我创建了一个新的 react-native 项目并将我的 android 本机模块添加为 dependency.using 官方文档 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://github.com/facebook/react-native/issues/25415
但是其中 none 解决了我的问题。
我是react-native的初学者。所以我不知道我还需要什么其他细节文件 post 在这里。如果您需要任何其他文件,请告诉我。
我遇到了同样的问题,我通过 Android Strudio 将 build.gradle 3.5.2
更新为 3.5.3
解决了这个问题。
图中显示了 android 文件夹中 build.gradle 文件依赖项中类路径的更新
对我来说,下面两个解决了它(我认为是后者做的):
- 重置缓存:
react-native start --reset-cache
- 清理 Android:
cd android
-> ./gradlew clean
对我来说,按照以下步骤解决了这个问题
3 个步骤
- 将 minSdk 提高到 23
- 在gradle.properties中添加行:
android.bundle.enableUncompressedNativeLibs=假;
- 在您的清单文件中添加一行:
android:extractNativeLibs=true;
我创建了一个新的 react-native 项目并将我的 android 本机模块添加为 dependency.using 官方文档 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://github.com/facebook/react-native/issues/25415
但是其中 none 解决了我的问题。
我是react-native的初学者。所以我不知道我还需要什么其他细节文件 post 在这里。如果您需要任何其他文件,请告诉我。
我遇到了同样的问题,我通过 Android Strudio 将 build.gradle 3.5.2
更新为 3.5.3
解决了这个问题。
图中显示了 android 文件夹中 build.gradle 文件依赖项中类路径的更新
对我来说,下面两个解决了它(我认为是后者做的):
- 重置缓存:
react-native start --reset-cache
- 清理 Android:
cd android
->./gradlew clean
对我来说,按照以下步骤解决了这个问题 3 个步骤
- 将 minSdk 提高到 23
- 在gradle.properties中添加行: android.bundle.enableUncompressedNativeLibs=假;
- 在您的清单文件中添加一行: android:extractNativeLibs=true;