Команда adb connect возвращает «connection refused» или «unable to connect» — самая частая ситуация, с которой сталкиваются при попытке настроить отладку по Wi-Fi на Android. Причина почти всегда одна из трёх: устройство и компьютер находятся в разных подсетях, беспроводная отладка не активирована на самом смартфоне, либо сеанс ADB «залип» и требует сброса. Разберём всё по порядку — от включения режима разработчика до устойчивого беспроводного соединения.
Отладка по Wi-Fi (Wireless Debugging) позволяет подключать Android-устройство к Android Debug Bridge без USB-кабеля: ставить приложения, смотреть логи через adb logcat, выполнять shell-команды. Это удобно, когда порт занят, кабель нестабилен или устройство физически далеко от компьютера — например, телевизионная приставка на Android TV.
Что нужно перед началом настройки
Прежде чем вводить команды, убедитесь, что выполнены базовые условия. Их нарушение — причина большинства неудачных подключений.
- 📶 Смартфон и компьютер подключены к одной и той же Wi-Fi сети (одному роутеру, одной подсети).
- 🛠️ На компьютере установлен Android SDK Platform-Tools — пакет с утилитой
adb, скачанный с официального сайта для разработчиков Android. - 🔓 На устройстве включён режим разработчика:
Настройки → О телефоне →несколько нажатий на пунктНомер сборки. - 🚫 На роутере отключена изоляция клиентов (AP Isolation / Client Isolation), если такая функция есть — она блокирует соединения между устройствами внутри сети.
⚠️ Внимание: точные названия пунктов меню различаются между оболочками (MIUI, One UI, ColorOS и др.) и версиями Android. Если указанного пункта нет по описанному пути, поищите его через строку поиска в настройках или сверьтесь с документацией вашей модели.
Включение беспроводной отладки на Android 11 и новее
Начиная с Android 11, в систему встроена полноценная беспроводная отладка, не требующая первоначального подключения по кабелю. Это самый удобный способ, если ваша версия системы его поддерживает.
Откройте Настройки → Для разработчиков → Беспроводная отладка и активируйте переключатель. Система предложит два варианта сопряжения: по QR-коду (работает с Android Studio) и по шестизначному коду сопряжения. Для работы через терминал нужен второй вариант.
Нажмите Сопряжение устройства с кодом сопряжения — на экране появятся код, IP-адрес и порт. Обратите внимание: порт сопряжения и порт подключения — разные, и код действует ограниченное время. Затем на компьютере выполните:
adb pair 192.168.1.50:37109
Введите код с экрана телефона. После успешного сопряжения подключитесь к основному порту, который указан на главном экране «Беспроводной отладки»:
adb connect 192.168.1.50:40417
Проверьте результат командой adb devices — устройство должно отображаться со статусом device, а не unauthorized или offline.
Способ для старых версий Android: через первичное USB-подключение
На устройствах с Android 10 и ниже встроенной беспроводной отладки нет, поэтому первый сеанс придётся начать с кабеля. Это одноразовое действие — дальше соединение работает по сети до перезагрузки устройства.
☑️ Переход на Wi-Fi-отладку через USB
Последовательность команд выглядит так:
adb devices
adb tcpip 5555
adb connect 192.168.1.50:5555
IP-адрес телефона можно посмотреть в Настройки → О телефоне → Статус или в свойствах текущего Wi-Fi-подключения. После команды adb tcpip 5555 кабель можно отключить — демон adbd продолжит слушать сетевой порт.
Учтите ограничение метода: после перезагрузки смартфона adbd возвращается в USB-режим, и процедуру с кабелем придётся повторить. На устройствах с root-доступом существуют способы запуска сетевого adbd без кабеля, но они выходят за рамки безопасной базовой настройки.
Типичные ошибки и их решение
Если подключение не устанавливается, диагностику стоит вести от сети к ADB, а не наоборот. Сначала проверьте, «виден» ли телефон с компьютера командой ping по его IP-адресу. Если ping не проходит — проблема в сети, а не в ADB.
| Ошибка | Вероятная причина | Что делать |
|---|---|---|
| Connection refused | Отладка выключена или неверный порт | Проверить порт на экране «Беспроводная отладка» |
| Connection timed out | Устройства в разных сетях, изоляция клиентов | Проверить сеть и настройки роутера |
| Unauthorized | Не подтверждён RSA-отпечаток | Отозвать разрешения в настройках разработчика, подключить заново |
| Failed to pair | Истёк код сопряжения или неверный порт pairing | Запросить новый код, использовать порт из окна сопряжения |
| More than one device | Подключено несколько устройств | Указать цель: adb -s IP:порт команда |
Отдельный частый случай — «зависший» сеанс. Если устройство ранее подключалось, но теперь adb connect молчит или возвращает ошибку, перезапустите сервер ADB:
adb kill-server
adb start-server
⚠️ Внимание: не оставляйте сетевую отладку включённой в публичных Wi-Fi сетях. Открытый порт ADB без должной авторизации — реальный вектор атаки: в недоверенной сети любой участник потенциально может попытаться подключиться к вашему устройству. Используйте беспроводную отладку только в домашней или рабочей сети и выключайте её после сеанса.
Автоматизация и удобство работы
Чтобы не вводить IP-адрес вручную при каждом подключении, можно закрепить за телефоном постоянный адрес в настройках роутера (резервирование DHCP по MAC-адресу). Тогда команда подключения будет одинаковой, и её легко сохранить в скрипт или ярлык.
В Android Studio беспроводное сопряжение встроено в интерфейс: пункт Pair Devices Using Wi-Fi в списке устройств позволяет подключиться по QR-коду без терминала. Это удобно, если основная работа идёт в IDE, а не в командной строке.
Почему порт сопряжения и порт подключения разные
При беспроводной отладке Android 11+ используется два отдельных TLS-соединения. Порт из окна «Сопряжение» обслуживает только обмен ключами (adb pair), а основной порт на экране «Беспроводная отладка» — рабочий трафик ADB (adb connect). Оба порта генерируются случайно при каждом включении функции, поэтому сохранённые команды из прошлых сеансов не сработают.
Для регулярной работы полезно держать под рукой короткий набор команд диагностики:
- 🔍
adb devices— список подключённых устройств и их статус. - 📋
adb logcat— поток системных логов в реальном времени. - 🔌
adb disconnect— разрыв всех сетевых ADB-соединений. - ♻️
adb kill-server && adb start-server— перезапуск сервера при «залипании».
Ограничения беспроводной отладки
Wi-Fi-соединение уступает кабелю в стабильности и скорости. Установка больших APK, запись видео с экрана через adb shell screenrecord с последующей выгрузкой и интенсивный logcat заметно чувствительнее к качеству сигнала и загруженности сети.
Также помните о зависимости от энергосбережения: при глубоком сне или агрессивной оптимизации батареи соединение может разрываться. Если связь регулярно пропадает, проверьте настройки энергосбережения и не блокирует ли система фоновую сетевую активность.
Часто задаваемые вопросы
Работает ли отладка по Wi-Fi без root-прав?
Да. На Android 11 и новее беспроводная отладка — штатная системная функция. На старых версиях достаточно однократного подключения по USB для перевода adbd в сетевой режим. Root не требуется ни в одном из этих сценариев.
Почему adb connect пишет «connection refused», хотя отладка включена?
Чаще всего указан неверный порт — он меняется при каждом включении функции. Сверьте порт на экране «Беспроводная отладка». Также проверьте, что устройства в одной сети, и перезапустите adb-сервер командами adb kill-server и adb start-server.
Сохраняется ли подключение после перезагрузки телефона?
Нет. После перезагрузки беспроводную отладку нужно включать заново, а порт изменится. На Android 11+ сопряжение с компьютером при этом сохраняется — повторный ввод кода не потребуется, достаточно новой команды adb connect с актуальным портом.
Безопасно ли держать ADB по Wi-Fi включённым постоянно?
В домашней доверенной сети риск умеренный, но в публичных сетях открытый порт ADB — серьёзная уязвимость. Рекомендуется включать беспроводную отладку только на время работы и отключать после завершения сеанса.
Чем отличается adb pair от adb connect?
adb pair выполняется один раз для обмена ключами шифрования и использует порт из окна сопряжения. adb connect устанавливает рабочее соединение через основной порт беспроводной отладки. Без успешного pair команда connect на Android 11+ работать не будет.