web-dev-qa-db-ja.com

React-Native:Java.lang.UnsatisfiedLinkError:ロードするDSOが見つかりませんでした:libhermes.so

反応ネイティブバージョン0.60.2を使用するようにプロジェクトを更新しました。しかし、Androidデバイスでアプリケーションを実行しようとすると、起動画面の後でクラッシュします。次のエラーログが表示されます。

E/AndroidRuntime: FATAL EXCEPTION: create_react_context
    Process: com.tjspeed, PID: 3909
    Java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.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.hermes.reactexecutor.HermesExecutor.<clinit>(HermesExecutor.Java:20)
        at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create(HermesExecutorFactory.Java:27)
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.Java:949)
        at Java.lang.Thread.run(Thread.Java:760)

ここで利用できるいくつかの提案: https://github.com/facebook/react-native/issues/25601 残念ながら、どれも私にとってうまくいきませんでした。回避策を提案してください。

59
V-Xtreme

私の場合、app/build.gradleenableHermesをオンにするだけです。

project.ext.react = [
    entryFile   : "index.js",
    enableHermes: true,  // HERE!
]
0
lfree

App/build.gradle内のndkオブジェクトを置き換えてみてください

defaultConfig {
...
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}
0
user3571779

古いバージョンのReact Native、0.60より前のpackage.jsonより新しいバージョンが定義されていました(ポスト0.60)。

0
Sir Codesalot

私の場合、エルメスは有効化されていませんでしたが、このエラーが発生しました。クリーニング(Android Studioを使用)および再構築により、エラーが解決しました。

0
Isaac Overacker