react-native android应用在启动前退出(0.61.2)-找不到要加载的DSO:libhermes.so-频道无法恢复

时间:2019-11-11 14:45:55

标签: react-native react-native-android

我一直在尝试从本机0.59.4迁移到0.61.2。

在ios和android上解决了许多构建和运行时问题之后,这是在Android上成功启动我的react-native应用程序之前的最后一个问题。该应用程序将成功构建,但是当它在模拟器上启动时,它会弹出一会儿,然后出现白屏,并且应用程序崩溃并显示 app不断崩溃的弹出消息。我什至无法在chrome控制台上远程调试该应用程序,因为它首先没有启动。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

注意:此解决方案适用于我的特定问题。要找出您的问题,请尝试adb logcat *:E,以了解您所遇到的问题。

好吧,有一个非常重要的命令(我在Mac上),即使您无法在模拟器上启动应用程序,它也可以帮助您在日志中查看发生了什么:adb logcat *:E

在我的情况下,有两个主要问题引起了我的注意。

频道无法恢复,将被处置

找不到要加载的DSO:libhermes.so

一旦我收到了这些消息,我便开始为它们挖/谷歌。

经历了很多SO和GitHub主题之后,这对我有用:

首先,请确保您已对以下内容进行了所有必要的修改:

  • gradle.properties
  • app / build.gradle
  • android / build.gradle
  • package.json

个文件(使用react-native upgrade helper执行此操作)。

然后,如果尚未安装,请执行npm install jsc-android在项目中安装所需的jsc软件包。

allprojects -> 存储库

中的android / build.graddle中添加以下内容
    maven {
        // Android JSC is installed from npm
        url("$rootDir/../node_modules/jsc-android/dist")
    }

在gradle.properties内部添加

android.useAndroidX=true
android.enableJetifier=true

在某些情况下,您可能需要将以下行添加到package.json

"postinstall": "npx jetify"

此外,在某些情况下,可能会用您正在使用的react-native的确切版本替换以下行(app / build.gradle的dependencies部分):

implementation "com.facebook.react:react-native:+"

像这样替换:

implementation "com.facebook.react:react-native:**0.61.2**"

我希望这有助于解决您的问题,或者至少在您的问题上取得一些进展。 干杯。