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.
- Подключите телефон USB-кабелем и убедитесь, что доступ разрешён:
adb devices- Переключите ADB-демон устройства в режим TCP/IP на порту 5555:
adb tcpip 5555Должно появиться restarting in TCP mode port: 5555.
- Узнайте IP-адрес телефона (см. следующий раздел).
- Отключите кабель и подключитесь по сети:
adb connect 192.168.1.42:5555Замените адрес на адрес своего телефона. При успехе вы увидите connected to 192.168.1.42:5555.
- Проверьте:
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 появился режим с сопряжением, которому кабель не нужен.
- Откройте «Настройки» > «Система» > «Для разработчиков» и включите «Отладка по Wi-Fi» (телефон должен быть подключён к Wi-Fi).
- Нажмите на «Отладка по Wi-Fi», затем «Подключить устройство с помощью кода» (Pair device with pairing code). Телефон покажет IP-адрес, порт и шестизначный код.
- На компьютере выполните сопряжение через этот порт:
adb pair 192.168.1.42:37123Введите шестизначный код, когда его спросят.
- Вернитесь на главный экран «Отладки по 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.
- Запустите агент однострочным установщиком (на macOS и Linux
curl -fsSL https://adbkit.com/install.sh | sh, в Windows PowerShellirm https://adbkit.com/install.ps1 | iex). Если у вас уже есть Node.js, можно вместо этого скачать adbkit-bridge.mjs и выполнитьnode adbkit-bridge.mjs.
- Подключите телефон по USB в рабочем пространстве ADBKit и откройте окно Wi-Fi.
- Нажмите Turn on Wi-Fi debugging. ADBKit сам выполнит
adb tcpip 5555и покажет адрес телефона. - Подключитесь, введя 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.