原有Android项目上集成React native报错,crash, Can't find variable: __fbBatchedBridge



  • Android studio项目中添加React Native页面; 根据facebook官方教程一步步做的:http://facebook.github.io/react-native/docs/embedded-app-android.html#content

    往上搜索了一些同样的错误, 基本都是开发选项设置代理服务器; 但是在Android项目中集成的话, 打开家在react的activity, 直接就crash了。

    错误如下:
    java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.facebook.react.bridge.JSExecutionException: ReferenceError: Can't find variable: __fbBatchedBridge (<unknown file>:1)
    at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:160)
    at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:779)
    at com.facebook.react.ReactInstanceManagerImpl.access$600(ReactInstanceManagerImpl.java:91)
    at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:184)
    at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:169)
    at android.os.AsyncTask$2.call(AsyncTask.java:289)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

    update:
    使用 React bundle命令, 将js打包成bundle,再打包成apk,是没有问题的。


  • administrators

    贴logcat的报错



  • 摇一摇你的手机,在出来的菜单里选"Dev Settings",然后点击最下面的"Debug server host & port for device",填入里电脑的ip:8081

    命令行:adb shell input keyevent 82可以代替摇一摇。



  • @sunbinqiang 一直找不到原因,今天找到了原因。
    "dependencies": {
    "react-native": "^0.25.1"
    }
    在dependencies 中没有增加对react的依赖,正确的应该是如下:
    "dependencies": {
    "react": "^0.14.8",
    "react-native": "^0.25.1"
    }



  • 请问 解决了吗



  • 我也遇到这个问题了



  • 此回复已被删除!

登录后回复