O Google está trabalhando em uma implementação adequada de ADB sem fio para que os desenvolvedores de aplicativos depurem sem fio. Este recurso pode estrear no Android 11.
Para desenvolvedores de aplicativos Android, o ADB é uma ferramenta indispensável para depuração de aplicativos. Com a capacidade de gerar logs, enviar e extrair arquivos, fazer sideload de APKs e entrar no shell, o ADB oferece aos desenvolvedores muito controle sobre um dispositivo de teste enquanto usam um PC. Embora seja possível use ADB sem fio conectando-se ao seu dispositivo via TCP/IP*, muitos desenvolvedores podem não saber disso, então simplesmente continuam usando uma conexão com fio. Além disso, o ADB sem fio atualmente não é tão conveniente se o seu dispositivo não tiver um endereço IP estático ou se você estiver lidando com vários dispositivos de teste. Finalmente, a transferência de dados via ADB sobre TCP/IP ocorre em texto simples, portanto não é uma boa ideia usá-la quando conectado a uma rede não confiável. Felizmente, parece que o Google está trabalhando em uma implementação adequada, nativa e (possivelmente) segura de ADB sem fio que pode chegar ao Android 11 no próximo ano.
Joshua Duong, engenheiro de software do Google, apresentou múltiplos commits para o AOSP Gerrit que implementam esse recurso. Esses commits crie um serviço WiFi para ADB com suporte para emparelhamento seguro. Não encontramos evidências de que a nova implementação criptografa dados em trânsito, mas esse recurso ainda é claramente um trabalho em andamento, portanto pode chegar em um commit posterior. Do lado do usuário, o Google planeja adicionar uma nova opção de “depuração sem fio” nas Opções do desenvolvedor que oferece suporte ao emparelhamento de dispositivos digitalizando um código QR ou inserindo um código de 6 dígitos.
Strings ADB sem fio para Android 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>
consulte Mais informação
Parece que o Google está finalmente investindo no desenvolvimento desse recurso, então espero que ele chegue no Android 11 no próximo ano. No entanto, esses commits ainda não foram mesclados, portanto não há garantia de que o recurso chegará na próxima versão do Android. Ficaremos de olho no AOSP Gerrit para acompanhar quando ele for mesclado e para saber mais sobre essa implementação.
* Phhusson, desenvolvedor reconhecido pelo XDA, chamou minha atenção que o ADB tem suporte para DNS multicast, então já é possível conectar-se sem fio ao ADB sem precisar do endereço IP do seu dispositivo. No entanto, iniciar o serviço requer root e você só pode ter um dispositivo conectado por vez, portanto não é a solução ideal. Além disso, não está documentado publicamente em nenhum lugar, então poucas pessoas sabem disso.
Agradecimentos ao desenvolvedor reconhecido pelo XDA luca020400 para a ponta e para phhusson por apontar o suporte mDNS no ADB!