Android 11 może w końcu przynieść odpowiednią, natywną implementację bezprzewodowego ADB

Google pracuje nad odpowiednią implementacją bezprzewodowego ADB, aby twórcy aplikacji mogli debugować bezprzewodowo. Ta funkcja może zadebiutować w Androidzie 11.

Dla twórców aplikacji na Androida ADB jest niezbędnym narzędziem do debugowania aplikacji. Dzięki możliwości generowania dzienników, przesyłania i ściągania plików, bocznego ładowania plików APK i wchodzenia do powłoki, ADB daje programistom dużą kontrolę nad urządzeniem testowym podczas korzystania z komputera. Chociaż jest to możliwe korzystaj z ADB bezprzewodowo łącząc się z urządzeniem za pośrednictwem protokołu TCP/IP*, wielu programistów może o tym nie wiedzieć, więc po prostu wolą korzystać z połączenia przewodowego. Ponadto bezprzewodowe ADB nie jest obecnie zbyt wygodne, jeśli Twoje urządzenie nie ma statycznego adresu IP lub masz do czynienia z wieloma urządzeniami testowymi. Wreszcie, transfer danych przez ADB przez TCP/IP odbywa się w postaci zwykłego tekstu, więc nie jest dobrym pomysłem używanie go w przypadku połączenia z niezaufaną siecią. Na szczęście wygląda na to, że Google pracuje nad odpowiednią, natywną i (prawdopodobnie) bezpieczną implementacją bezprzewodowego ADB, która może pojawić się w Androidzie 11 w przyszłym roku.

Joshua Duong, inżynier oprogramowania w Google, zgłosił się wielokrotne zatwierdzenia w AOSP Gerrit które implementują tę funkcję. Te zobowiązania utwórz usługę Wi-Fi dla ADB z wsparcie dla bezpiecznego parowania. Nie zauważyliśmy dowodów na to, że nowa implementacja szyfruje przesyłane dane, ale najwyraźniej nad tą funkcją wciąż trwają prace, więc może pojawić się w późniejszym zatwierdzeniu. Po stronie użytkownika Google planuje dodać nowy przełącznik „debugowania bezprzewodowego” w Opcjach programisty, który obsługuje parowanie urządzeń poprzez zeskanowanie kodu QR lub wprowadzenie 6-cyfrowego kodu.

Bezprzewodowe ciągi ADB dla Androida 11

<stringname="enable_adb_wireless">Wireless debuggingstring>
<stringname="enable_adb_wireless_summary">Debug mode when Wi\u2011Fi is connectedstring>
<stringname="adb_wireless_error">Errorstring>
<stringname="adb_wireless_settings">Wireless debuggingstring>
<stringname="adb_wireless_list_empty_off">To see and use available devices, turn on wireless debuggingstring>
<stringname="adb_pair_method_qrcode_title">Pair device with QR codestring>
<stringname="adb_pair_method_qrcode_summary">Pair new devices using QR code Scannerstring>
<stringname="adb_pair_method_code_title">Pair device with pairing codestring>
<stringname="adb_pair_method_code_summary">Pair new devices using six digit codestring>
<stringname="adb_paired_devices_title">Paired devicesstring>
<stringname="adb_wireless_device_connected_summary">Currently connectedstring>
<stringname="adb_wireless_device_details_title">Device detailsstring>
<stringname="adb_device_connect">Connectstring>
<stringname="adb_device_disconnect">Disconnectstring>
<stringname="adb_device_forget">Forgetstring>
<stringname="adb_device_mac_addr_title_format">Device MAC address: %sstring>
<stringname="adb_wireless_connection_failed_title">Connection unsuccessfulstring>
<stringname="adb_wireless_connection_failed_message">Make sure %s is connected to the correct networkstring>
<stringname="pairing_progress_category_title">Waiting for pairing requests..string>
<stringname="adb_pair_new_devices_title">Pair new devicesstring>
<stringname="adb_no_pairing_devices_found">No devices were found for pairing.string>
<stringname="adb_pairing_device_dialog_title">Pair with device?string>
<stringname="adb_pairing_device_dialog_pairing_code_label">Wi\u2011Fi pairing codestring>
<stringname="adb_pairing_device_dialog_failed_title">Pairing unsuccessfulstring>
<stringname="adb_pairing_device_dialog_failed_msg">Make sure the device is connected to the same network.string>
<stringname="adb_wireless_verifying_qrcode_text">Checking QR code...string>
<stringname="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>
<stringname="adb_discovery_enable_failed_title">Discovery unsuccessfulstring>
<stringname="adb_discovery_failed_msg">Failed to enable ADB wireless discovery. Please make sure you are connected on a Wi\u2011Fi network.string>
<stringname="keywords_adb_wireless">adb, debug, devstring>

Czytaj więcej

Wygląda na to, że Google w końcu włożył wysiłek w rozwój tej funkcji, więc mam nadzieję, że pojawi się ona w Androidzie 11 w przyszłym roku. Jednak te zatwierdzenia nie zostały jeszcze połączone, więc nie ma gwarancji, że funkcja pojawi się w następnej wersji Androida. Będziemy obserwować AOSP Gerrit, aby śledzić, kiedy zostanie on połączony i aby dowiedzieć się więcej o tej implementacji.

* Uznany programista XDA, Phhusson, zwrócił mi uwagę, że ADB obsługuje multicast DNS, dzięki czemu możliwe jest już bezprzewodowe łączenie się z ADB bez konieczności podawania adresu IP urządzenia. Uruchomienie usługi wymaga jednak roota i jednocześnie można mieć podłączone tylko jedno urządzenie, więc nie jest to idealne rozwiązanie. Poza tym nie jest to nigdzie publicznie udokumentowane, więc niewiele osób o tym wie.


Dzięki uznanemu programiście XDA Luca020400 za napiwek i do Phusson za zwrócenie uwagi na obsługę mDNS w ADB!