Run/install/debug Android applications over Wi-Fi?
adb, android, debugging, wifi
Solution
See forum post Any way to view Android screen remotely without root? - Post #9.
- Connect the device via USB and make sure debugging is working;
- `adb tcpip 5555`. This makes the device to start listening for connections on port 5555;
- Look up the device IP address with `adb shell netcfg` or `adb shell ifconfig` with 6.0 and higher or `adb shell ip -f inet addr show` with Android 10 and higher;
- You can disconnect the USB now;
- `adb connect <DEVICE_IP_ADDRESS>:5555`. This connects to the server we set up on the device on step 2;
- 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:
- Enable ADB over network in developer setting:
It should show the IP address.
- `adb connect <DEVICE_IP_ADDRESS>:5555`
- 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.
Problem
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.