Could not get BatchedBridge, make sure your bundle is packaged correctly

今天在學(xué)習(xí)ReactNative時,研究到ReactNative嵌入到原生app時遇到的一個問題,導(dǎo)致程序跳轉(zhuǎn)的時候就crash,錯誤日志如下:

java.lang.RuntimeException: Could not get BatchedBridge, make sure your bundle is packaged correctly
at com.facebook.react.cxxbridge.CatalystInstanceImpl.loadScriptFromAssets(Native Method)
at com.facebook.react.cxxbridge.JSBundleLoader$1.loadScript(JSBundleLoader.java:37)
at om.facebook.react.cxxbridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:177)
at com.facebook.react.XReactInstanceManagerImpl$4.call(XReactInstanceManagerImpl.java:888)
at com.facebook.react.XReactInstanceManagerImpl$4.call(XReactInstanceManagerImpl.java:881)
at om.facebook.react.bridge.queue.MessageQueueThreadImpl$1.run(MessageQueueThreadImpl.java:74)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at   com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
at android.os.Looper.loop(Looper.java:148)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:196) at java.lang.Thread.run(Thread.java:818)

幾經(jīng)查找,在facebook的github上的issues中找到了問題的解決方式,
鏈接 https://github.com/facebook/react-native/issues/9336
這是個已經(jīng)被closed的問題,
看到國外的有人也受該問題的困擾,有人給了一下的鏈接
https://stackoverflow.com/questions/34175416/how-to-use-offline-bundle-on-android-for-react-native-project
中完美的解決了我的問題。

解決方法

在項目根目錄里運行

react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

之后可以看到在項目的assets目錄下生成了了來了兩個文件,如果沒有先自行創(chuàng)建assets目錄再運行(或者管理員模式打開cmd)
重新運行問題解決
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容