ИнструкцияОпубликовано: Обновлено: 4 мин чтения

ADB по Wi-Fi: как подключить Android без кабеля

Как подключить Android к ADB по Wi-Fi командами adb tcpip 5555 и adb connect, где узнать IP телефона, как не рисковать в сети и как работает агент ADBKit.

Чтобы пользоваться ADB по Wi-Fi, один раз подключите телефон по USB, выполните adb tcpip 5555, отключите кабель и выполните adb connect <ip-телефона>:5555. Компьютер и телефон должны быть в одной сети. На Android 11 и новее есть ещё встроенный режим «Отладка по Wi-Fi» (Wireless debugging), который работает по коду сопряжения и вообще не требует кабеля.

Перед началом

  • На телефоне должна быть включена «Отладка по USB». Если вы этого ещё не сделали, см. как включить отладку по USB.
  • Компьютер и телефон должны быть в одной локальной сети. Гостевые сети и часть публичных Wi-Fi блокируют трафик между устройствами.
  • Для способа через командную строку на компьютере нужны Android platform-tools (adb).

Способ 1. Классический (adb tcpip)

Работает на любой версии Android с отладкой по USB.

  1. Подключите телефон USB-кабелем и убедитесь, что доступ разрешён:
adb devices
  1. Переключите ADB-демон устройства в режим TCP/IP на порту 5555:
adb tcpip 5555

Должно появиться restarting in TCP mode port: 5555.

  1. Узнайте IP-адрес телефона (см. следующий раздел).
  2. Отключите кабель и подключитесь по сети:
adb connect 192.168.1.42:5555

Замените адрес на адрес своего телефона. При успехе вы увидите connected to 192.168.1.42:5555.

  1. Проверьте:
adb devices

Теперь устройство показано как 192.168.1.42:5555. Все привычные команды работают так же, как по кабелю.

Чтобы отключиться, выполните adb disconnect 192.168.1.42:5555. Режим TCP не постоянный: он сбрасывается при перезагрузке телефона.

Как узнать IP-адрес телефона

  • На чистом Android: «Настройки» > «О телефоне» > «Общая информация» (или «Статус»), пункт «IP-адрес». Ещё можно открыть сведения о текущей Wi-Fi-сети в «Настройки» > «Сеть и интернет» > «Интернет».
  • С компьютера, пока телефон подключён по USB:
adb shell ip route

Адрес после src в строке с wlan0 и есть IP телефона.

Названия пунктов у производителей разные, но IP-адрес всегда есть где-то в сведениях о Wi-Fi-сети или на странице состояния телефона.

Способ 2. «Отладка по Wi-Fi» (Android 11 и новее)

В Android 11 появился режим с сопряжением, которому кабель не нужен.

  1. Откройте «Настройки» > «Система» > «Для разработчиков» и включите «Отладка по Wi-Fi» (телефон должен быть подключён к Wi-Fi).
  2. Нажмите на «Отладка по Wi-Fi», затем «Подключить устройство с помощью кода» (Pair device with pairing code). Телефон покажет IP-адрес, порт и шестизначный код.
  3. На компьютере выполните сопряжение через этот порт:
adb pair 192.168.1.42:37123

Введите шестизначный код, когда его спросят.

  1. Вернитесь на главный экран «Отладки по Wi-Fi», посмотрите IP-адрес и порт, указанные там (это другой порт, не тот, что для сопряжения), и подключитесь:
adb connect 192.168.1.42:41567

Порт меняется, поэтому после каждого включения настройки его, возможно, придётся проверять заново.

Безопасность: прочитайте, прежде чем оставлять включённым

Внимание: открытый порт ADB по TCP доступен любому в той же сети, и злоумышленник, добравшийся до него, может попытаться общаться с вашим телефоном. Используйте этот режим только в доверенных сетях, дома или в офисе, и никогда в публичном Wi-Fi.

Android по-прежнему просит разрешить RSA-ключ при первом подключении компьютера. Это защита, но полагаться только на неё не стоит. Когда закончите:

adb usb

Эта команда возвращает устройство в режим USB. Перезагрузка телефона тоже сбрасывает классический режим TCP, а «Отладку по Wi-Fi» можно выключить в разделе «Для разработчиков».

ADB по Wi-Fi в ADBKit

Браузер не умеет открывать «сырые» TCP-соединения, поэтому сам до порта 5555 не дотянется. ADBKit решает это с помощью агента ADBKit, небольшой программы, которая работает на вашем компьютере и передаёт трафик. Полная настройка, параметры и решение проблем описаны в справке по агенту ADBKit.

  1. Запустите агент однострочным установщиком (на macOS и Linux curl -fsSL https://adbkit.com/install.sh | sh, в Windows PowerShell irm https://adbkit.com/install.ps1 | iex). Если у вас уже есть Node.js, можно вместо этого скачать adbkit-bridge.mjs и выполнить node adbkit-bridge.mjs.
  1. Подключите телефон по USB в рабочем пространстве ADBKit и откройте окно Wi-Fi.
  2. Нажмите Turn on Wi-Fi debugging. ADBKit сам выполнит adb tcpip 5555 и покажет адрес телефона.
  3. Подключитесь, введя IP-адрес (порт 5555), или найдите устройства через Scan network.

Агент слушает только 127.0.0.1, отвечает только страницам ADBKit и подключается только к адресам частной сети, так что это не открытый прокси общего назначения.

Примечание: ADBKit поддерживает оба способа. Классический adb tcpip 5555 работает с любой версией агента. Сопряжение по коду из «Отладки по Wi-Fi» на Android 11+ (adb pair) поддерживает Go-агент, который ставит установщик. Версия на Node сопряжение не умеет. Пошаговая инструкция в статье Подключение Android через отладку по Wi-Fi из браузера, а выбрать способ поможет статья adb tcpip или отладка по Wi-Fi.

Решение проблем

  • failed to connect или тайм-аут. Проверьте, что оба устройства в одной сети и IP-адрес актуален: роутер может его сменить. Некоторые сети изолируют клиентов друг от друга.
  • unauthorized после подключения. Разблокируйте телефон и примите запрос на отладку. Если не помогло, отзовите доступ в разделе «Для разработчиков» и попробуйте снова.
  • Соединение обрывается. Режим сна Wi-Fi и слабый сигнал прерывают сеанс. Подключитесь заново через adb connect.
  • Устройство занято. Одно подключение может использовать только одна программа. См. ошибки ADB device busy и unauthorized.

Почему браузеру для TCP нужен помощник, а USB работает напрямую, объясняет статья что такое WebADB.