ADB over wireless

Solution 1:

Rooting is not required. With USB cable connected, port 5555 opened across all involved firewalls and debug mode enabled

adb tcpip 5555

then look into wireless properties of your device and the network you use, to see which IP address have been granted to device (or configure your DHCP always to use the same for the device mac address). Then

adb connect 192.168.1.133

(were 192.168.1.133 is a sample IP address).

This is all. You can now use adb shell or adb install or adb upload or the like with USB cable plugged out.

To switch back to USB mode,

adb usb

The device may also revert back to USB mode after reboot.

This mode is needed for development of applications that use attached USB devices directly (USB port is used by device so cannot be used by ADB). It is briefly covered in the USB debugging section of the Android website.

Solution 2:

I ran into the same problem today and find that things are fine on my non-rooted 4.2 Galaxy Nexus device, but does not work on my older (again non-rooted) Samsung Galaxy Y (2.3) device.

I tried the steps given here but looks like one needs a rooted phone to work on some of the earlier models (and maybe other non-nexus devices too).

This is what I tried -

$ adb shell netstat | grep 5555

No socket was opened on this port.

Tried to manually set the steps that adb tcpip does -

$ adb shell setprop service.adb.tcp.port 5555
$ adb shell stop adbd
$ adb shell start adbd
$ adb shell getprop | grep adb

This does not show the property that was just set.

This is what it shows on my nexus device where it works without rooting -

$ adb shell getprop | grep adb
[service.adb.tcp.port]: [5555]

So depending on what phone/OS version u have, your mileage might vary.

:-)