2017-04-12 17 views
1

ReactNativeを既存のAndroidアプリケーションに追加しようとしています。私はthisリンクからの指示に従った。私はそれを追加することができますが、反応したネイティブアクティビティを開くと、アプリケーションがクラッシュします。私はAndroid ReactNative java.lang.UnsatisfiedLinkError:ロードするDSOが見つかりました:libreactnativejni.so

adb reverse tcp:8081 tcp:8081 

を使用してサーバーを開始し、反応させ、ネイティブ

react-native start 

を使用して、私はJSファイルがロードされていることを、対話を取得し始めています。しかし、ついにクラッシュする。

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libreactnativejni.so 
    at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:213) 
    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:178) 
    at com.facebook.react.bridge.JSCJavaScriptExecutor.<clinit>(JSCJavaScriptExecutor.java:19) 
    at com.facebook.react.ReactInstanceManager.onJSBundleLoadedFromServer(ReactInstanceManager.java:413) 
    at com.facebook.react.ReactInstanceManager.createReactContextInBackground(ReactInstanceManager.java:236) 

私は、この問題の原因を把握することができませんように私は完全に失われています:以下は、logcatに印刷されているエラーです。

ありがとうございます。

+0

小規模な提案:ネイティブスクリプト[https://www.nativescript.org/]は、反応ネイティブとは異なるフレームワークです。おそらくそれに応じて質問を編集することができます。 –

+0

ありがとうございます。私はそれを編集しました。 – Anu

+0

しかし、**あなたのプロジェクトには.soファイルがありますか?理論的には正しくリンクされていますか? – Grisgram

答えて

3

これは問題から次の問題(2年間のオープン)https://github.com/facebook/react-native/issues/2814

によって引き起こされる:Facebookのから

React Native on Android doesn't provide a 64-bit version of the libreactnativejni.so native library, which can cause compatibility issues on 64-bit devices. I ran into this while attempting to integrate React Native with a large existing application I'm developing.

反応:

"Thanks for reporting! Yes we don't provide 64-bit version of the native code and the system should always fall back to 32-bit."

And:

"Most Android projects use a number of 3rd-party libraries, and any that include native 64-bit code will cause React Native to fail."

次SO Use 32-bit jni libraries on 64-bit androidは説明答えます32ビットライブラリにフォールバックして、実際には混在することはできません。したがって、64ビットが見つかった場合は、すべて64ビットにする必要があります。

Github号#2814に沿って読むことをお勧めします。複数の修正が提案されていますが、それはあなたの状況に応じて異なります。

発行者はまた、それについてのブログを書いています:Mixing 32- and 64-bit Dependencies in Android

は、この情報がお役に立てば幸い!

+1

PS @Anu私はあなたもgithubの問題に投稿を見た。申し訳ありませんが、私はこれが現在の状態だと思っていますが、いくつか(遅い)作業があります。しかし、結局RNは64bitをサポートしなければならないでしょうが、まもなく私は思っています。 –

関連する問題