'Adb reverse tcp not working on android connected remotely
I am trying to execute reverse tcp command on a android device connected remotely(using adb connect <ip-address>
). But I am getting following error while executing:
adb -s 192.168.0.101 reverse tcp:8081 tcp:8081
error: more than one device/emulator
but I have only one device connected.
adb devices
List of devices attached
192.168.0.101:5555 device
same command works fine if I connect my device using usb. Any Ideas ?
Solution 1:[1]
I just came across this, and while none of the answers worked I eventually got it working repeatably. Following these steps should get you wirelessly debugging your React Native app on your real Android device.
I ran adb kill-server && adb start-server
first. I'm not sure if that's strictly necessary.
- Connect your phone and computer to the same network
- Connect your phone to your computer via USB
adb tcpip 5555
adb reverse tcp:8081 tcp:5555
adb connect YOUR.PHONE.IP.ADDRESS:5555
You can find your phone's wifi IP address from Network Settings -> Wifi -> Wifi Preferences -> IP Address.
- Disconnect the USB wire.
- If the app isn't yet installed, install the app on your phone the way you usually do over USB,
react-native run android
for most cases.
Open the app, and you get an “Unable to load Script” error. Pressing ‘Reload’ gives an error “Could not connect to development server.” Overcome your despair and push onwards.
- Open the developer menu (shake the phone with your React Native app open) and select “Dev Settings”. Select “Debug server host & port for device” from the menu.
Find your computer’s ip address. Enter that in the window on your phone, followed by the port number 8081:
YOUR.COMPUTER.IP.ADDRESS:8081
- Now shake and reload. Sometimes this doesn’t do anything, so closing the app and reopening does the trick.
At this point, you should see the bundler loading up with the familiar green bar.
- shake and hit “debug js remotely”.
From here you should have your normal debugging experience, minus the wire.
Solution 2:[2]
I found that if I'm doing a TCP/IP connection, I need to set the reverse command before I connect to the remote device
Example:
adb tcpip 5555
adb reverse tcp:8081 tcp:8081
adb connect 192.168.1.113
If I connect before performing the reverse, I would always get the error about multiple devices/emulators
Solution 3:[3]
adb kill-server
adb start-server
adb reverse tcp:8081 tcp:8081
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | ainesophaur |
Solution 3 | Henry Ecker |