networking wifi without - How can I connect to Android with ADB over TCP?
This is really simple if your phone is rooted.
Download a terminal emulator from Google Play (there are lots that are free). Make sure that your Android device is connected to your Wi-Fi and get the Wi-Fi IP address. Open the terminal program and type:
su setprop service.adb.tcp.port 5555 stop adbd start adbd
Now go to your computer (assuming that you are using Windows) and create a shortcut on the desktop for "cmd.exe" (without the quotations).
Right click on the cmd shortcut and choose
"Run as Administrator"
Change to your
adb connect ***wifi.ip.address***:5555 (example: adb connect 192.168.0.105:5555)
adb should now say that you are connected.
Note: if you are too fast to give the connect command it may fail. So try at least two times five seconds apart before you say this doesn't work.
I am attempting to debug an application on a Motorola Droid, but I am having some difficulty connecting to the device via USB. My development server is a Windows 7 64-bit VM running in Hyper-V, and so I cannot connect directly via USB in the guest or from the host.
I installed a couple of different USB-over-TCP solutions, but the connection appears to have issues since the ADB monitor reports "devicemonitor failed to start monitoring" repeatedly. Is there a way to connect directly from the client on the development machine to the daemon on the device using the network instead of the USB connection or possibly another viable options?
connect <host>:<port> - Connect to a device via TCP/IP
That's a command-line option by the way.
You should try connecting the phone to your Wi-Fi, and then get its IP address from your router. It's not going to work on the cell network.
The port is 5554.
For PC users:
You have to enable Developer options in your Android phone.
You can enable Developer options using this way.
• Open Settings> About> Software Information> More.
• Then tap “Build number” seven times to enable Developer options.
• Go back to Settings menu and now you'll be able to see “Developer options” there.
• Tap it and turn on USB Debugging from the menu on the next screen.
Open cmd and type adb.
if you find that adb is not valid command then you have to add a path to the environment variable.
•First go to you SDK installed folder
Follow this path and this path is just for an example. D:\softwares\Development\Andoird\SDK\sdk\platform-tools\; D:\softwares\Development\Andoird\SDK\sdk\tools;
• Now search on windows system advanced setting
Open the Environment variable.
then open path and paste the following path
this is an example.
You SDK path is different from mine please use yours. D:\softwares\Development\Andoird\SDK\sdk\platform-tools\;
Open cmd and type adb. if you still see that adb is not valid command then your path has not set properly follow above steps.
Now you can connect your android phone to PC.
Open cmd and type adb devices and you can see your device.
Find you phone ip address.
Type:- adb tcpip 5555
Get the IP address of your phone
adb shell netcfg
adb connect "IP address of your phone"
Now run your android project and if not see you device then type again adb connect IP address of your phone
For Linux and MAC User:
Step 1: open terminal and install adb using
sudo apt-get install android-tools-adb android-tools-fastboot
Connect your phone via USB cable to PC.
Type following command in terminal
adb tcpip 5555
Using adb, connect your android phone ip address.
Remove your phone.
To connect your tablet using TCP port. Make sure your system and device is connected to same network.
- Open console cmd.exe
adb tcpip 5555
- Go to System -> Development option -> USB debugging --> Uncheck it for TCPIP connection
adb connect 192.168.1.2this is your device IP address
- Connected to 192.168.1.2
Connected using port forward Try to do port forwarding,
adb forward tcp:
<PC port> tcp:
adb forward tcp:5555 tcp:5555.
C:\Users\abc>adb forward tcp:7612 tcp:7612
C:\Users\abc>adb tcpip 7612 restarting in TCP mode port: 7612
C:\Users\abc>adb connect 10.0.0.1:7612
connected to 10.0.0.1:7612
If you get message error: device not found connect a usb device to system then follow same procedure.
for a rooted device
setprop service.adb.tcp.port 5555 stop adbd start adbd
I do not know how to connect the device without any USB connection at all, but if you manage to connect it maybe at another computer you can switch the adbd to TCP mode by issuing
adb tcpip <port>
from a terminal and connect to your device over wifi from any PC on the network by:
adb connect <ip>:<port>
Maybe it is also possible to switch to TCP mode from a terminal on the device.
adb tcpip 5555
Weird, but this only works for me if I have the USB cable connected, then I can unplug the usb and go for it with everything else adb.
and the same when returning to usb,
will only work if usb is connected.
It doesn't matter if I issue the
setprop service.adb.tcp.port 5555
setprop service.adb.tcp.port -1
then stop & start adbd, I still need the usb cable in or it doesn't work.
So, if my ADB over usb wasn't working, I bet I wouldn't be able to enable ADB over WiFi either.
Make sure both your adb host computer and Android device are on the same Wifi network.
Connect the Android device with the computer using your USB cable. As soon as you do that, your host computer will detect your device and adb will start running in the USB mode on the computer. You can check the attached devices with
adb devices whereas ensure that adb is running in the USB mode by executing
$ adb usb restarting in USB mode $ adb devices List of devices attached ZX1D63HX9R device
Restart adb in tcpip mode with this command:
$ adb tcpip 5556 restarting in TCP mode port: 5556
Find out the IP address of the Android device. There are several ways to do that:
- WAY: 1 Go to Settings -> About phone/tablet -> Status -> IP address.
- WAY: 2 Go to the list of Wi-fi networks available. The one to which you’re connected, tap on that and get to know your IP.
- WAY: 3 Try
$ adb shell netcfg.
Now that you know the IP address of your device, connect your adb host to it.
$ adb connect 192.168.0.102:5556 already connected to 192.168.0.102:5556 $ adb devices List of devices attached ZX1D63HX9R device 192.168.0.102:5556 device
Remove the USB cable and you should be connected to your device. If you don’t see it in
adb devices then just reconnect using the previous step’s command:
$ adb connect 192.168.0.102:5556 connected to 192.168.0.102:5556 $ adb devices List of devices attached 192.168.0.102:5556 device
Either you’re good to go now or you’ll need to kill your adb server by executing
adb kill-server and go through all the steps again once more.
Hope that helps!
I find the other answers confusing. Far simpler to use adbWireless:
Simply install an app on your phone to toggle debugging over wifi, install an eclipse plug-in and you're done.
Here's an extension to Brian's answer using Bluetooth:
On Linux, use Blueman to share PC internet with your device via Bluetooth:
$ sudo apt-get install blueman $ blueman-manager Pair them: Search devices after enabling Bluetooth on your phone and making it visible $ blueman-services Network > [X] Network Access Point (NAP) Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
Use the Bluetooth network for ADB commands:
$ adb tcpip 5555 $ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555
Once done to return to USB mode:
$ adb disconnect $ adb usb
You Need to do following things:
- First, Add ADB to your environment path.
- From your CLI type this command adb connect YOUR_DEVICE_IP:PORT_NUMBER (example adb connect 192.168.100.100:5555)
On my system it went like this:
On my Android device in my Linux shell, a simple "ifconfig" did not give me my IP address. I had to type:
to get my IP address. (I knew eth0 was configured because I saw it in my dmesg.) Then I did the :
setprop service.adb.tcp.port -1
Then on my Win7 box (the one running Eclipse 3.7.1). I opened a command prompt to
without running as admin. Then I did a
adb connect 12.345.678.90
I never put a port. If I did a
adb tcpip 5555
it said it couldn't find the device then nothing appeared in my "adb devices" list. I.e. it only works if I DON'T do the tcpip command above.
I can do an "adb shell" and mess with my Android Device. But my Android Device does not appear in my Run->Run Configurations->Target tab right now. On the other hand, if I keep the Target Tab set to automatic. Then when I run my app via Run->Run it does run on my Android device even though my Android device is not even listed as one of my targets.
I just followed following steps and it started working, so that i can connect to my android device.
Step 1: Open the terminal Window in Android Devices and execute the following command.
- su -- To switch to super user.
- setprop service.adb.tcp.port 5555 - To specify the tcp Port - 5555 is the port number here
- stop adbd - To stop the adbb service.
- start adbd - To start adbd service.
Step 2: Through ADB, Execute the bellow command.(From the path where ADB is configured)
adb connect 10.10.10.50:5555 - Here 10.10.10.50 is the IP address of the android device and 5555 is the port number.
One additional note (learned the hard way): You should not have your company VPN-connection active at the same time...
adb can communicate with adb server over tcp socket. you can verify this by telnet.
$ telnet 127.0.0.1 5037 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 000chost:version OKAY00040020
generally, command has the format
%04x%s with <message.length><msg>
the following is the ruby command witch sends adb command
cmd against tcp socket
def send_to_adb(socket, cmd) socket.printf("%04x%s", cmd.length, cmd) end
the first example sends the command
host:version which length is 12(
000c in hex).
you can enjoy more exciting command like
framebuffer: which takes screenshot from framebuffer as you can guess from its name.