我正在尝试将我的ReactNative应用程序升级到RN0.59.9。像往常一样,iOS方面的一切都正常(能够构建为64位),但Android方面却让我束手无策。
我能够构建和生成调试变体工件,但是由于libjscexecutor.so,我的应用程序在启动画面后崩溃。
我尝试过:
- 解压apk以检查Lib文件夹,32位和64位是否具有相同数量的*.so文件([arm64-v8a/armeabi-v7a/x86/x86_64]中的所有文件都相同,只有[armeabi]不同。[armeabi]仅包含一个*.so文件)
- 尝试仅构建32位应用程序,但即使在32位应用程序中也遇到相同的问题
- 删除node_modules,yarn cache clear,yarn install
我的环境(您可能想知道的事情):
- NDK-r19c
- build-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)