ОбъяснениеОпубликовано: Обновлено: 3 мин чтения

adb tcpip или отладка по Wi-Fi: что выбрать для ADB по Wi-Fi

Сравнение adb tcpip 5555 и «Отладки по Wi-Fi» в Android 11+. Настройка, безопасность, что остаётся после перезагрузки и когда какой способ выбирать.

В Android есть два способа работать с ADB по Wi-Fi, и оба не требуют root. adb tcpip является классическим: один раз подключаете кабель, переводите adb-демон телефона на порт 5555 и подключаетесь к нему по сети. «Отладка по Wi-Fi» появилась в Android 11: сопряжение по 6-значному коду, кабель не нужен вовсе. Коротко: adb tcpip для старых телефонов и быстрых сессий, «Отладка по Wi-Fi» для Android 11+ и более безопасной работы без кабеля.

Как работает каждый способ

adb tcpip

Телефон подключён по USB, вы выполняете:

adb tcpip 5555

Демон adbd перезапускается в режиме TCP. После этого кабель можно отключить и подключиться по IP-адресу:

adb connect 192.168.1.20:5555

Соединение идёт по обычному TCP, а компьютер авторизуется тем же RSA-ключом и запросом «Разрешить отладку по USB?». Пошагово: ADB по Wi-Fi.

«Отладка по Wi-Fi»

Включите «Отладку по Wi-Fi» в разделе «Для разработчиков» и один раз выполните сопряжение компьютера: «Подключить устройство с помощью кода», затем на ПК adb pair <ip>:<порт-сопряжения> и 6-значный код. При сопряжении ключи передаются через проверенное рукопожатие. Дальше adb connect <ip>:<порт> открывает соединение, защищённое TLS:

adb pair 192.168.1.20:37011
adb connect 192.168.1.20:41237

Порт подключения случайный, и телефон объявляет его в сети через mDNS, поэтому программы могут найти его сами. Почему порт всё время меняется, разобрано в статье порт отладки по Wi-Fi меняется. Пошагово из браузера: подключение через отладку по Wi-Fi в браузере.

Сравнение

adb tcpip«Отладка по Wi-Fi»
Минимальный AndroidЛюбой с отладкой по USBAndroid 11 (API 30)
Нужен кабельДа, один раз за сессию (для adb tcpip)Нет
Первая настройкаadb tcpip 5555, затем adb connectВключить, сопряжение по коду, затем подключение
ПортПостоянный, 5555Случайный, часто меняется
ШифрованиеНет, обычный TCPTLS
АвторизацияRSA-ключ, запрос на телефонеСопряжённые ключи, подтверждённые кодом
После перезагрузкиСбрасывается, снова нужен кабельСопряжение остаётся, но настройка часто выключается, её надо включить снова
Поиск телефонаНужно знать IPТелефон сам объявляет себя в сети (mDNS)
Как выключитьadb usb или перезагрузкаВыключить настройку и удалить компьютеры в списке сопряжённых устройств
В ADBKitРаботает с любой версией агентаНужен агент на Go (версия на Node не умеет сопряжение)

Безопасность

Оба режима открывают сервис в вашей локальной сети, поэтому пользуйтесь ими только в сетях, которым доверяете.

  • adb tcpip держит порт 5555 открытым для любого в сети. RSA-запрос не пустит чужой компьютер, но сам трафик не шифруется, а порт остаётся открытым до adb usb или перезагрузки.
  • «Отладка по Wi-Fi» принимает только сопряжённые компьютеры, шифрует соединение и легко выключается. Если телефон её поддерживает, это более безопасный вариант по умолчанию.

В публичном Wi-Fi не стоит использовать ни тот, ни другой.

Надёжность

adb tcpip предсказуем: порт не меняется, поэтому скрипты и сохранённые адреса работают до перезагрузки. «Отладка по Wi-Fi» удобнее, но капризнее: порт подключения меняется при каждом включении или переподключении телефона, Android выключает её, когда вы уходите из сети Wi-Fi, а телефон в другой подсети или в сети с изоляцией клиентов просто не будет найден. Агент ADBKit сам находит новый порт. Если настройка выключается слишком часто, см. отладка по Wi-Fi сама выключается.

Без компьютера

Оба способа выше предполагают компьютер. Если ADB нужен на самом телефоне, приложение ADB Kit для Android подключается к adb этого же телефона через «Отладку по Wi-Fi»: без ПК, root и кабеля. Сопряжение делается один раз, а после повторного включения отладки приложение само находит новый порт, вводить его не нужно. Подробнее: ADB на Android без компьютера.

Что выбрать

  • Android 11 или новее, кабеля нет: «Отладка по Wi-Fi».
  • Android 10 или старше: adb tcpip, другого варианта нет.
  • Повторяемая настройка для скриптов в доверенной сети: adb tcpip, ради постоянного порта.
  • Всё, где важна безопасность, или долгие сессии: «Отладка по Wi-Fi».
  • Разовая задача, кабель под рукой: любой, adb tcpip займёт всего две команды.

Чтобы вкладка браузера могла использовать любой из способов, на компьютере должен работать агент ADBKit. Способ установки выберите в справке по агенту ADBKit. Для подключения по кабелю см. как включить отладку по USB.