android - error "Could not get BatchedBridge, make sure your bundle is packaged properly" on start of app

ID : 20117

viewed : 22

Tags : androidreact-nativeandroid

Top 5 Answer for android - error "Could not get BatchedBridge, make sure your bundle is packaged properly" on start of app

vote vote

90

A possible solution for this is that you most probably not bundling your application first, perform the following steps and then deploy your app-debug.apk to your device

$ cd myproject   $ react-native start > /dev/null 2>&1 &   $ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle" 

(if the folder assets does not exists create it)

Then run from project root

$> (cd android/ && ./gradlew assembleDebug) 

install the created apk to you device, from location: android/app/build/outputs/apk/app-debug.apk

let me know if that fixes your issue

EDIT:

You can simply put it to your package.json as a script to automate it, I believe it will be fixed in upcoming releases of react-native and will be executed prior assembling the final APK, hence this won't be needed (I hope as well)

put :

"scripts": {     "build": "(cd android/ && ./gradlew assembleDebug)",     "start": "node node_modules/react-native/local-cli/cli.js start",     "bundle-android": "react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --sourcemap-output android/app/src/main/assets/index.android.map --assets-dest android/app/src/main/res/"   }, 

or as mentioned the curl equivalent, but for most cases the above is more robust

vote vote

81

I came across this issue as well. What I did was force kill the app on my device, then I opened up another console and ran

react-native start 

and then I opened the app again from my device and it started working again.

EDIT: If you are using an android device via USB and have unplugged it or your computer went to sleep, you may have to first run

adb reverse tcp:8081 tcp:8081 
vote vote

77

Just got this error. Here's what I did to fix: I selected Dismiss, Went into the Developer menu, then Dev Settings, Choose Debug server host & port for device, I added my computers IP address and the port: 192.168.0.xx:8xxx, use whatever your developer machines assigned IP address is on your wifi network. The port is usually :8081

Once I did this, all went well. Also, while you're in the dev menu remember to select Enable Live Reload and Debug JS Remotely, it makes your life much-much easier while debugging.

vote vote

69

This is what worked for me (After trying every other solution i found ...):

Run adb reverse tcp:8081 tcp:8081 inside \Android\sdk\platform-tools

vote vote

53

I got this also when I started for the first time with React Native, using a physical device. If that's the case, you need to do some extra things before you can get started. You have to enter some information about your development machine in the 'Dev Settings' of React Native.

When you see the error, shake your device. A dialog will popup, the last option will be 'Dev Settings'. Select 'Debug server hot & port for device' and enter your local IP and the used port (usually 8081).

See the last paragraph of https://facebook.github.io/react-native/docs/running-on-device-android.html

Top 3 video Explaining android - error "Could not get BatchedBridge, make sure your bundle is packaged properly" on start of app

Related QUESTION?