したがって、まず第一に... iOSで実行しても問題はありません。私は
"react": "16.0.0-beta.5"、
"react-native": "^ 0.49.3"、
反応しようとすると、次のエラーが発生します-物理デバイスまたはエミュレーターでネイティブrun-android。
また、ノードモジュールの削除と再インストール、npmキャッシュのクリア、Androidビルドのクリーンアップも試みました。これらのことのどれもこの問題を解決しません。
エラーのURLに移動すると、JSページがあります。アプリケーションは、デバイスまたはエミュレーターもロックします。
他の情報:
adbは私のパスであり、adbデバイスを実行できます。
adb reverse tcp:8081 tcp:8081は役に立ちません
10-19 12:28:20.839: E/unknown:ReactNative(12782): Exception in native call from JS
10-19 12:28:20.839: E/unknown:ReactNative(12782): com.facebook.react.devsupport.JSException: Unexpected token '*' (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:112538)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at android.os.Handler.handleCallback(Handler.java:751)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at android.os.Handler.dispatchMessage(Handler.java:95)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at android.os.Looper.loop(Looper.java:154)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
10-19 12:28:20.839: E/unknown:ReactNative(12782): at java.lang.Thread.run(Thread.java:761)
10-19 12:28:20.839: E/unknown:ReactNative(12782): Caused by: com.facebook.jni.CppException: Unexpected token '*' (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:112538)
10-19 12:28:20.839: E/unknown:ReactNative(12782): ... 7 more
10-19 12:28:20.841: E/unknown:ReactNative(12782): Exception in native call
10-19 12:28:20.841: E/unknown:ReactNative(12782): java.lang.RuntimeException: Error calling AppRegistry.runApplication
10-19 12:28:20.841: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at android.os.Handler.handleCallback(Handler.java:751)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at android.os.Handler.dispatchMessage(Handler.java:95)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at android.os.Looper.loop(Looper.java:154)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
10-19 12:28:20.841: E/unknown:ReactNative(12782): at java.lang.Thread.run(Thread.java:761)
10-19 12:28:20.841: E/unknown:ReactNative(12782): Caused by: com.facebook.jni.CppException: Could not get BatchedBridge, make sure your bundle is packaged correctly
10-19 12:28:20.841: E/unknown:ReactNative(12782): ... 7 more
したがって、多くのデバッグを行った後、この問題の原因を見つけました。他の誰かがそれに遭遇した場合に備えて、ここに投稿します。
私のプロジェクトは
べき乗演算子**
(これはES6で導入されたと思います)。
私の質問で言ったように、これはiOSで実行しているときに問題を引き起こしません。私はまだ十分に深く掘り下げていませんが、Android側のreact-nativeコードベースにバグがあるに違いないようです。多分それは聖書にありますか?100%確信が持てません。
しかし、私が知っているのは
たとえば、2 ** 3からMath.pow(2,3)に変更すると、これが解決されます。
この回答の更新:
これを再現して、まったく新しいRNプロジェクトを作成することはできません。この問題が発生したプロジェクトはRN42からアップグレードされたため、アップグレードプロセスに問題があるはずです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加