android - E/SoLoader:找不到要加载的 DSO:libjscexecutor.so
问题描述
我正在尝试将我的 ReactNative 应用程序升级到 RN0.59.9。像往常一样,在 iOS(设法构建为 64 位)方面一切正常,但 Android 并没有让我离开。
我能够构建和生成调试变体工件,但是由于 libjscexecutor.so,我的应用程序在启动屏幕后崩溃。
我试过的:
- 解压apk查看Lib文件夹,32bit和64bit是否有相同数量的*.so文件(所有[arm64-v8a/armeabi-v7a/x86/x86_64]文件相同,只有[armeabi]不同。 [armeabi] 仅包含一个 *.so 文件)
- 尝试仅构建 32 位应用程序,但是即使在 32 位应用程序中我也面临同样的问题
- 删除 node_modules,清除纱线缓存,安装纱线
我的环境(您可能想知道的事情?):
- NDK-r19c
- 构建-gradle3.3.0
- gradle-4.10.1
下面是来自 Android Studio 的 logcat:
2019-06-10 17:09:29.754 23343-23665/com.bundle.id E/SoLoader: couldn't find DSO to load: libjscexecutor.so
2019-06-10 17:09:29.755 23343-23665/com.bundle.id E/AndroidRuntime: FATAL EXCEPTION: create_react_context
Process: com.bundle.id, PID: 23343
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libjscexecutor.so
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:738)
at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:591)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:529)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:484)
at com.facebook.react.jscexecutor.JSCExecutor.<clinit>(JSCExecutor.java:19)
at com.facebook.react.jscexecutor.JSCExecutorFactory.create(JSCExecutorFactory.java:29)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:944)
at java.lang.Thread.run(Thread.java:764)
解决方案
运行./gradlew clean
然后再次构建。参考
推荐阅读
- matplotlib - ModuleNotFoundError: No module named 'mpl_toolkits.basemap' 如何安装底图
- mapkit - 苹果地图不显示地图覆盖
- c++ - 在基类中存储指向派生类函数的指针
- python - 将列表中的嵌入列表写为文件中的行
- node.js - 在 Azure 中创建 NodeJS Web 应用程序失败
- windows - 我可以将 iPhone 连接到 Windows 10 机器以查看我在 Flutter 中的工作吗?
- java - 重置单选按钮中的数据
- mysql - Sequelize 更新忽略无效的列名
- path - 谷歌 colab 上的 Fastai
- python - 将元素插入到numpy数组中,以便最小间距是任意的