Introduction
When developing applications on Android, debugging directly over a USB connection might not always be feasible, especially when working within virtual environments or remote setups. A practical alternative is to connect your device using the Android Debug Bridge (ADB) over TCP/IP. This tutorial will guide you through enabling and utilizing ADB over Wi-Fi for seamless debugging without relying solely on USB connections.
Prerequisites
Before proceeding with this tutorial, ensure you have:
- An Android device running at least Android 4.2 or higher.
- The ADB tool installed on your development machine, typically found in the
platform-tools
directory of the Android SDK. - Basic knowledge of command-line operations and network configuration.
Step-by-Step Guide to Connect via ADB over TCP/IP
Method 1: From a USB Connection (No Root Required)
-
Connect Your Device via USB:
Begin by connecting your Android device to your development machine using a USB cable. -
Enable Debugging Mode on Your Device:
- On your device, go to
Settings > About Phone
and tap the Build Number seven times to enable Developer Options. - Navigate back to
Settings > Developer Options
and turn on USB debugging.
- On your device, go to
-
Open Command Prompt or Terminal:
- On Windows, open Command Prompt as an Administrator.
- On macOS or Linux, open your terminal.
-
Switch ADB to TCP/IP Mode:
Run the command:adb tcpip 5555
This restarts the ADB daemon in listening mode on port 5555.
-
Disconnect USB Cable:
Once the above command executes successfully, physically disconnect your device from the computer. -
Find Your Device’s IP Address:
- On your Android device, navigate to
Settings > Wi-Fi
, tap on the network you are connected to, and note the IP address.
Alternatively, use ADB to find it with:adb shell ip -f inet addr show wlan0 | awk '/inet / {print($2)}' | cut -d/ -f1
- On your Android device, navigate to
-
Connect via Wi-Fi:
Execute the following command from your computer’s terminal, replacingDEVICE_IP_ADDRESS
with your device’s actual IP address:adb connect DEVICE_IP_ADDRESS:5555
If successful, you’ll see a message indicating that the device is connected.
-
Verify Connection:
To ensure connectivity, run:adb devices
This command lists all connected devices, including those connected over TCP/IP.
Method 2: From Device (Root Required)
-
Enable Root Access on Your Device:
Ensure your device is rooted to execute commands with superuser privileges. -
Open a Terminal Emulator App:
Use a terminal emulator from the Google Play Store and enter the following:su setprop service.adb.tcp.port 5555 stop adbd start adbd
-
Connect via ADB on Your Computer:
Follow the same steps as Method 1, starting from opening a command prompt and enabling TCP/IP mode withadb tcpip 5555
.
Disabling Wi-Fi Debugging
To revert back to USB debugging:
- Run the following command:
adb usb
- This prompts ADB to switch back to its default USB connection.
Best Practices
- Security: Ensure that your network is secure, as enabling TCP/IP debugging could potentially expose your device to unauthorized access.
- Port Management: The default port for ADB over TCP/IP is
5555
. Ensure no other services use this port on the host machine or device to prevent conflicts.
Conclusion
Connecting Android devices with ADB over TCP/IP can greatly enhance flexibility and convenience, especially in remote development scenarios. By following the steps outlined above, you can seamlessly switch between USB and wireless debugging, ensuring uninterrupted workflow regardless of your setup constraints.