web-dev-qa-db-ja.com

"java.lang.unsatisfiedLinkError:libhermes.so"というエラーが発生しました

Reactネイティブプロジェクトを反応ネイティブバージョン0.58.5から0.60.4に移行するプロセスに参加しています。

Androidの場合、私はここに記載されているすべての変更をやりました

私は私のアプリでhermesを無効にしましょうbuild.gradleファイル:

project.ext.react = [
    entryFile: "index.js",
    enableHermes: false,  // clean and rebuild if changing
]
...
def jscFlavor = 'org.webkit:Android-jsc:+'
def enableHermes = project.ext.react.get("enableHermes", false);
...
dependencies {
    ...

    if (enableHermes) {
      println 'Hermes is enabled'
      def hermesPath = "../../node_modules/hermesvm/Android/";
      debugImplementation files(hermesPath + "hermes-debug.aar")
      releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
      println 'Hermes is disabled'
      implementation jscFlavor
    }
}
...

ビルド時にHermes is disabled印刷を見ることができます。そしてこれはまさに私が欲しいものです。

React-Native Run-AndroidでAndroidアプリを起動するとき、起動時に次のクラッシュが得られます。

FATAL EXCEPTION: create_react_context
E  Process: com.reactnativetestapp, PID: 21038
E  Java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so
E      at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.Java:738)
E      at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.Java:591)
E      at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.Java:529)
E      at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.Java:484)
E      at com.facebook.hermes.reactexecutor.HermesExecutor.<clinit>(HermesExecutor.Java:20)
E      at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create(HermesExecutorFactory.Java:27)
E      at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.Java:949)
E      at Java.lang.Thread.run(Thread.Java:764)

いくつかの研究の後、私はエルメスを有効にしたいと思っている人々のためにこのクラッシュが発生することができ、それは間違った卒業構成を持っています: [0.60.3]エルメスを有効にするときの起動時のアプリクラッシュ(イネント) /

エルメスが無効になっている間にこのクラッシュを手に入れているのはなぜですか?

enableHermestrueに設定するときは、クラッシュは発生しません。

10
cjosepha

ダブルチェックここでのすべてのアップデートをお願いします https://react-native-community.github.io/Upgrade-helper/?from=0.59.9&to=0.60.5

Android/app/build.gradleファイルの移行に間違いを誤ったので、同じエラーがありました。

0
denieler