Android 11 may finally bring a proper, native Wireless ADB implementation

Android 11 may finally bring a proper, native Wireless ADB implementation

For Android app developers, ADB is an indispensable tool for debugging applications. With the ability to generate logs, push and pull files, sideload APKs, and enter the shell, ADB gives developers a lot of control over a test device while using a PC. While it’s possible to use ADB wirelessly by connecting to your device via TCP/IP*, many developers might not know about this so they simply stick with using a wired connection. Plus, wireless ADB currently isn’t that convenient if your device doesn’t have a static IP address or you’re dealing with multiple test devices. Finally, data transfer via ADB over TCP/IP happens in plain text, so it’s not a good idea to use it when connected to an untrusted network. Thankfully, it looks like Google is working on a proper, native, and (possibly) secure implementation of wireless ADB that could land in Android 11 next year.

Joshua Duong, a software engineer at Google, submitted multiple commits to the AOSP Gerrit that implement this feature. These commits create a WiFi service for ADB with support for secure pairing. We haven’t spotted evidence that the new implementation encrypts data in transit, but this feature is clearly still a work-in-progress so it may arrive in a later commit. On the user-side, Google plans to add a new “wireless debugging” switch in Developer Options that supports pairing devices by scanning a QR code or entering a 6 digit code.

Wireless ADB strings for Android 11

<string name="enable_adb_wireless">Wireless debugging</string>
<string name="enable_adb_wireless_summary">Debug mode when Wi\u2011Fi is connected</string>
<string name="adb_wireless_error">Error</string>
<string name="adb_wireless_settings">Wireless debugging</string>
<string name="adb_wireless_list_empty_off">To see and use available devices, turn on wireless debugging</string>
<string name="adb_pair_method_qrcode_title">Pair device with QR code</string>
<string name="adb_pair_method_qrcode_summary">Pair new devices using QR code Scanner</string>
<string name="adb_pair_method_code_title">Pair device with pairing code</string>
<string name="adb_pair_method_code_summary">Pair new devices using six digit code</string>
<string name="adb_paired_devices_title">Paired devices</string>
<string name="adb_wireless_device_connected_summary">Currently connected</string>
<string name="adb_wireless_device_details_title">Device details</string>
<string name="adb_device_connect">Connect</string>
<string name="adb_device_disconnect">Disconnect</string>
<string name="adb_device_forget">Forget</string>
<string name="adb_device_mac_addr_title_format">Device MAC address: %s</string>
<string name="adb_wireless_connection_failed_title">Connection unsuccessful</string>
<string name="adb_wireless_connection_failed_message">Make sure %s is connected to the correct network</string>
<string name="pairing_progress_category_title">Waiting for pairing requests..</string>
<string name="adb_pair_new_devices_title">Pair new devices</string>
<string name="adb_no_pairing_devices_found">No devices were found for pairing.</string>
<string name="adb_pairing_device_dialog_title">Pair with device?</string>
<string name="adb_pairing_device_dialog_pairing_code_label">Wi\u2011Fi pairing code</string>
<string name="adb_pairing_device_dialog_failed_title">Pairing unsuccessful</string>
<string name="adb_pairing_device_dialog_failed_msg">Make sure the device is connected to the same network.</string>
<string name="adb_wireless_verifying_qrcode_text">Checking QR code...</string>
<string name="adb_qrcode_pairing_device_failed_msg">Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network.</string>
<string name="adb_discovery_enable_failed_title">Discovery unsuccessful</string>
<string name="adb_discovery_failed_msg">Failed to enable ADB wireless discovery. Please make sure you are connected on a Wi\u2011Fi network.</string>
<string name="keywords_adb_wireless">adb, debug, dev</string>

It looks like Google is finally putting development effort into this feature, so I’m hoping it’ll arrive in Android 11 next year. However, these commits haven’t been merged yet, so there’s no guarantee the feature will arrive in the next Android release. We’ll keep an eye out on the AOSP Gerrit to track when it gets merged and to find out more about this implementation.

*XDA Recognized Developer phhusson brought to my attention that ADB has support for multicast DNS, so it’s already possible to wirelessly connect to ADB without needing your device’s IP address. However, starting the service requires root and you can only have one device connected at a time, so it’s not an ideal solution. Plus, it isn’t documented anywhere publicly, so very few people know about it.

Thanks to XDA Recognized Developer luca020400 for the tip and to phhusson for pointing out mDNS support in ADB!

About author

Mishaal Rahman
Mishaal Rahman

I am the Editor-in-chief of XDA. In addition to breaking news on the Android OS and mobile devices, I manage all editorial and reviews content on the Portal. Tips/media inquiries: [email protected]