Команда adb connect 192.168.1.50:5555 возвращает unable to connect или connection refused — типичная ситуация при первой попытке настроить remote ADB shell, и почти всегда причина в том, что на устройстве не активирован режим отладки по сети. Удалённый доступ через ADB позволяет выполнять команды shell, устанавливать приложения и снимать логи с Android-устройства без USB-кабеля — по Wi-Fi или проводной локальной сети.
Такой способ подключения востребован разработчиками, тестировщиками и владельцами ТВ-приставок на Android TV, у которых USB-порт занят или физически недоступен. В этом материале разберём, как включить беспроводную отладку, какие команды использовать, почему соединение отклоняется и как защитить устройство от несанкционированного доступа.
Что такое remote ADB shell и как это работает
ADB (Android Debug Bridge) — инструмент из состава Android SDK Platform-Tools, который связывает компьютер с устройством через службу adbd, запущенную на самом Android. По умолчанию эта служба слушает USB-интерфейс, но её можно переключить в сетевой режим — тогда adbd принимает подключения по протоколу TCP/IP.
Когда вы вводите команду adb shell после сетевого подключения, на устройстве открывается полноценная командная оболочка: доступны навигация по файловой системе, запуск и остановка приложений, чтение логов через logcat, управление пакетами через pm. По сути, это тот же терминал, что и при USB-подключении, только транспортом выступает локальная сеть.
Важно понимать ограничение: сетевой режим работает только в пределах доступности устройства по IP-адресу. Если смартфон и компьютер находятся в разных подсетях или роутер изолирует клиентов (функция AP Isolation, часто включённая в гостевых сетях), соединение установить не получится.
Подготовка: что понадобится перед подключением
Прежде чем вводить команды, убедитесь, что выполнены базовые условия. Их список невелик, но пропуск любого пункта — самая частая причина ошибок соединения.
- 💻 На компьютере установлены Platform-Tools — официальный пакет с утилитой adb от Google.
- 📱 На Android-устройстве включён режим разработчика: откройте
Настройки → О телефонеи несколько раз нажмите на пункт Номер сборки. - 🔧 В разделе
Для разработчиковактивирована отладка по USB (для первичной настройки) или беспроводная отладка (на новых версиях Android). - 📶 Оба устройства подключены к одной сети Wi-Fi, при этом изоляция клиентов на роутере выключена.
- 🔢 Известен IP-адрес Android-устройства — его можно посмотреть в
Настройки → О телефоне → Статусили в свойствах Wi-Fi-сети.
⚠️ Внимание: точные названия пунктов меню и их расположение различаются в зависимости от оболочки производителя (MIUI, One UI, ColorOS и др.) и версии Android. Если вы не находите указанный пункт, сверьтесь с документацией своей модели или воспользуйтесь поиском по настройкам.
Способ 1: активация через USB (универсальный метод)
Этот вариант работает практически на любой версии Android и остаётся основным для устройств, где нет штатной функции беспроводной отладки. Сначала подключите смартфон или приставку к компьютеру кабелем и убедитесь, что команда adb devices показывает устройство со статусом device.
Затем переведите демон adbd в сетевой режим одной командой:
adb tcpip 5555
После этого кабель можно отключить. Демон начнёт принимать подключения на порту 5555, и останется выполнить соединение по сети:
adb connect 192.168.1.50:5555
Если всё настроено верно, в ответ придёт сообщение connected to 192.168.1.50:5555. Проверить работоспособность можно командой adb shell — вы попадёте в терминал удалённого устройства. Учтите: после перезагрузки устройства сетевой режим сбрасывается, и процедуру с USB-кабелем придётся повторить.
☑️ Проверка перед подключением remote ADB
Способ 2: беспроводная отладка без кабеля
На современных версиях Android (начиная с Android 11) появилась штатная функция беспроводной отладки, которая не требует USB-подключения вообще. Она находится в разделе Для разработчиков → Беспроводная отладка.
Принцип отличается от классического метода: система использует сопряжение по коду. Включите переключатель беспроводной отладки, откройте пункт Сопряжение устройства с кодом — на экране появятся код, IP-адрес и порт. На компьютере выполните:
adb pair 192.168.1.50:37109
Введите показанный на экране код. После успешного сопряжения подключитесь к основному порту, указанному на странице беспроводной отладки (он отличается от порта сопряжения и меняется при каждом включении функции):
adb connect 192.168.1.50:42035
Обратите внимание: порт при беспроводной отладке не равен стандартному 5555 и генерируется заново при каждой активации — это сознательная мера безопасности. Поэтому не сохраняйте старые команды в скрипты без проверки актуального порта.
Типичные ошибки и их решение
Больше всего вопросов вызывает отказ в соединении. Сообщение Connection refused означает, что устройство доступно по сети (пинг проходит), но adbd не слушает указанный порт. Возможные причины: не выполнена команда adb tcpip 5555, устройство перезагружалось после активации, либо беспроводная отладка выключилась автоматически.
Другая распространённая ситуация — статус unauthorized в выводе adb devices. Это значит, что на устройстве не подтверждён запрос на разрешение отладки. Разблокируйте экран и найдите диалог с RSA-отпечатком ключа; если диалог не появляется, отзовите старые разрешения через пункт Отозвать авторизацию USB-отладки в настройках разработчика и подключитесь заново.
- 🚫 Connection refused — сетевой режим adbd не активен; повторите активацию.
- ⏱️ Connection timed out — устройство недоступно: другая подсеть, изоляция клиентов или ошибка в IP.
- 🔐 Unauthorized — не подтверждён RSA-ключ на экране устройства.
- 👻 Offline — сессия зависла; помогает
adb disconnectи повторное подключение.
Как перезапустить adbd без перезагрузки устройства
Если соединение зависло, выполните adb kill-server на компьютере, затем adb start-server и повторите adb connect. На устройстве с рут-доступом дополнительно можно перезапустить сам демон командами stop adbd и start adbd, но для большинства случаев достаточно перезапуска сервера на ПК.
Сравнение способов подключения
Выбор метода зависит от версии Android, наличия кабеля под рукой и частоты использования. Ниже — сводная таблица ключевых отличий.
| Критерий | USB + adb tcpip | Беспроводная отладка |
|---|---|---|
| Минимальная версия Android | Практически любая | Android 11 и новее |
| Нужен ли кабель | Да, для первичной активации | Нет |
| Порт подключения | Фиксированный 5555 | Случайный при каждом включении |
| Работает после перезагрузки | Нет, нужна повторная активация | Нет, функцию нужно включить заново |
| Аутентификация | RSA-ключ при первом подключении | Код сопряжения + RSA-ключ |
Для разового сценария — например, поставить приложение на ТВ-приставку — проще классический способ через adb tcpip. Для регулярной разработки на новых устройствах удобнее штатная беспроводная отладка, поскольку она не требует поиска кабеля.
Безопасность: что обязательно учесть
Открытый ADB-порт — это полноценный удалённый доступ к устройству с правами оболочки. Любой, кто находится в той же сети и знает IP, теоретически может попытаться подключиться. RSA-авторизация защищает от неизвестных машин, но только если вы не подтверждали чужие ключи.
⚠️ Внимание: не оставляйте сетевую отладку включённой в публичных Wi-Fi-сетях — в кафе, отелях, аэропортах. После завершения работы отключайте беспроводную отладку в настройках или выполняйте adb usb, чтобы вернуть adbd в режим только по кабелю.
Дополнительная мера — периодически отзывать авторизации через пункт Отозвать авторизацию USB-отладки, особенно если устройство подключалось к чужим компьютерам. А закончив сеанс удалённой работы, выполняйте adb disconnect, чтобы корректно закрыть соединение.
Полезные команды для удалённой работы
После установки соединения весь арсенал ADB доступен по сети. Вот команды, которые чаще всего используются именно в удалённых сессиях:
- 📦
adb install app.apk— установка APK-файла на удалённое устройство. - 🗑️
adb uninstall com.example.app— удаление приложения по имени пакета. - 📋
adb logcat— просмотр системных логов в реальном времени. - 📸
adb exec-out screencap -p > screen.png— скриншот экрана прямо на компьютер. - 🔄
adb reboot— удалённая перезагрузка устройства.
Если к одному компьютеру подключено несколько устройств, указывайте цель явно: adb -s 192.168.1.50:5555 shell. Без ключа -s adb выдаст ошибку more than one device.
Ответы на частые вопросы
Можно ли подключиться к Android через ADB через интернет, а не локальную сеть?
Технически это возможно через проброс портов или VPN, но делать этого не стоит: открытый ADB-порт в публичной сети — серьёзная уязвимость. Безопасная альтернатива — VPN-туннель до домашней сети, при котором устройство остаётся недоступным извне напрямую.
Почему после перезагрузки телефона adb connect больше не работает?
Сетевой режим adbd не сохраняется между перезагрузками — это штатное поведение системы в целях безопасности. Нужно заново выполнить adb tcpip 5555 через USB или повторно включить беспроводную отладку в настройках разработчика.
Работает ли remote ADB на Android TV и приставках?
Да, это один из самых популярных сценариев. На Android TV и Google TV сетевую отладку включают в разделе настроек для разработчиков; на многих приставках она активируется сразу по сети, без USB. Точный путь в меню зависит от модели и версии прошивки.
Что делать, если пишет «more than one device/emulator»?
Команда не понимает, к какому устройству обращаться. Посмотрите список подключённых целей через adb devices и добавьте ключ -s с адресом нужного устройства, например: adb -s 192.168.1.50:5555 shell.
Нужен ли root для remote ADB shell?
Нет, root-доступ не требуется. Отладка по сети — штатная функция Android, доступная после включения режима разработчика. Root понадобится только для отдельных команд внутри shell, требующих повышенных привилегий, но не для самого подключения.