Run/install/debug Android applications over Wi-Fi?

I thought there was a way to test your applications in development over Wi-Fi. Is this possible?

I'd love to be able to untether my phone and develop wirelessly.


Solution 1:

See forum post Any way to view Android screen remotely without root? - Post #9.

  1. Connect the device via USB and make sure debugging is working;
  2. adb tcpip 5555. This makes the device to start listening for connections on port 5555;
  3. Look up the device IP address with adb shell netcfg or adb shell ifconfig with 6.0 and higher;
  4. You can disconnect the USB now;
  5. adb connect <DEVICE_IP_ADDRESS>:5555. This connects to the server we set up on the device on step 2;
  6. Now you have a device over the network with which you can debug as usual.

To switch the server back to the USB mode, run adb usb, which will put the server on your phone back to the USB mode. If you have more than one device, you can specify the device with the -s option: adb -s <DEVICE_IP_ADDRESS>:5555 usb.

No root required!

To find the IP address of the device: run adb shell and then netcfg. You'll see it there. To find the IP address while using OSX run the command adb shell ip route.


WARNING: leaving the option enabled is dangerous, anyone in your network can connect to your device in debug, even if you are in data network. Do it only when connected to a trusted Wi-Fi and remember to disconnect it when done!


@Sergei suggested that line 2 should be modified, commenting: "-d option needed to connect to the USB device when the other connection persists (for example, emulator connected or other Wi-Fi device)".

This information may prove valuable to future readers, but I rolled-back to the original version that had received 178 upvotes.


On some device you can do the same thing even if you do not have an USB cable:

  1. Enable ADB over network in developer setting Screenshot Showing the option on It should show the IP address
  2. adb connect <DEVICE_IP_ADDRESS>:5555
  3. Disable the setting when done

Using Android Studio there is a plugin allowing you to connect USB Debugging without the need of using any ADB command from a terminal.

Solution 2:

(No root required) There is one best, easy and with UI method for Android Studio

IntelliJ and Android Studio plugin created to quickly connect your Android device over WiFi to install, run and debug your applications without a USB connected. Press one button and forget about your USB cable.

just install plugin Android WiFi ADB

Download and install Android WiFi ADB directly from

Intellij / Android Studio: Preferences/Settings->Plugins->Browse Repositories

enter image description here

enter image description here

.

Remember! for first time to initialize the device you must have to connect using usb

Alternatively, you can download the plugin from the JetBrains plugin site and install it manually in: Preferences/Settings->Plugins->Install plugin from disk.

You can connect and manage your devices easily....... for more information read here https://github.com/pedrovgs/AndroidWiFiADB

Solution 3:

If you want to enable wireless adb on the device without connecting with a USB cable at all (root required):

  1. Install a terminal app on the device (like Android Terminal Emulator) Type the following
  2. su
  3. setprop service.adb.tcp.port 5555
  4. stop adbd
  5. start adbd

Since you already have the terminal opened, you can find the IP address of the device:

ip addr show

Then in your debugging environment run command:

adb connect ip.of.the.device

This will make the device to be listed as any other emulators you might have. Note that the TCP will stay opened until you reset the device. You might also want to install a Wi-Fi Keep Alive app if you often experience disconnects.

Remember to close the TCP when connecting to public networks if you want to feel safe. You can do the following or simply restart the device:

  1. su
  2. setprop service.adb.tcp.port -1
  3. stop adbd
  4. start adbd

Solution 4:

I found my answer here:

  1. Connect Android device and adb host computer to a common Wi-Fi network accessible to both. We have found that not all access points are suitable; you may need to use an access point whose firewall is configured properly to support adb.
  2. Connect the device with USB cable to host.
  3. Make sure adb is running in USB mode on host.

    $ adb usb
    restarting in USB mode
    
  4. Connect to the device over USB.

     $ adb devices
     List of devices attached
     ######## device
    
  5. Restart host adb in tcpip mode.

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    
  6. Find out the IP address of the Android device: Settings -> About tablet -> Status -> IP address. Remember the IP address, of the form #.#.#.#. sometimes its not possible to find the IP-address of the android device, as in my case. so u can get it using adb as the following: $ adb shell netcfg and the should be in the last line of the result.

  7. Connect adb host to device:

    $ adb connect #.#.#.#
    connected to #.#.#.#:5555
    
  8. Remove USB cable from device, and confirm you can still access device:

    $ adb devices
    List of devices attached
    #.#.#.#:5555 device
    

You're now good to go!

If the adb connection is ever lost:

  1. Make sure that your host is still connected to the same Wi-Fi network your Android device is.
  2. Reconnect by executing the "adb connect" step again.
  3. Or if that doesn't work, reset your adb host:

     adb kill-server
    

and then start over from the beginning.