Ошибка unable to connect to 192.168.x.x:5555 при попытке выполнить adb connect — самый частый симптом, с которым сталкиваются при первой настройке remote adb shell: устройство видно в сети, но отладочный порт не отвечает. Причина почти всегда одна — на смартфоне не включён режим беспроводной отладки или он сбросился после перезагрузки.
Remote ADB shell — это способ управлять Android-устройством через интерфейс Android Debug Bridge без USB-кабеля: по Wi-Fi в локальной сети или через интернет-туннель. Такой подход нужен разработчикам для тестирования приложений, владельцам Android TV-приставок без удобного USB-доступа и всем, кто хочет выполнять команды adb shell на удалённом устройстве. Ниже разберём подготовку, подключение, основные команды и типичные проблемы.
Что такое remote ADB shell и когда он нужен
ADB — это клиент-серверный инструмент из состава Android SDK Platform Tools. Клиент на компьютере отправляет команды, демон adbd на устройстве их исполняет. По умолчанию связь идёт через USB, но демон умеет принимать подключения и по TCP/IP — именно это и называется remote adb.
Практические сценарии, где без беспроводной отладки не обойтись:
- 📺 Управление Android TV или приставкой, к которой неудобно подключать кабель;
- 🧪 Тестирование приложений на устройстве, которое физически находится в другой комнате или у коллеги;
- 🔋 Диагностика смартфона с повреждённым USB-портом, когда кабельное подключение невозможно;
- ⚙️ Пакетная настройка нескольких устройств в одной локальной сети без переподключения кабелей.
Важно понимать ограничение: удалённая сессия даёт тот же набор команд adb shell, что и кабельная, но скорость передачи файлов по Wi-Fi обычно ниже, а разрыв сети оборвёт соединение посреди операции.
Подготовка: включение беспроводной отладки
Сначала необходимо активировать режим разработчика на Android-устройстве. Откройте Настройки → О телефоне и несколько раз нажмите на пункт Номер сборки, пока система не сообщит, что вы стали разработчиком. Точное название пунктов может отличаться в зависимости от оболочки — сверяйтесь с инструкцией своей модели.
Далее в меню Система → Для разработчиков включите Отладку по USB, а если устройство работает на Android 11 и новее — отдельный переключатель Беспроводная отладка. В его настройках отображаются IP-адрес и порт, а также функция сопряжения по коду. На Android 11+ порт беспроводной отладки генерируется случайно при каждом включении — привычный порт 5555 там не используется по умолчанию.
☑️ Подготовка к remote ADB
На компьютере потребуются Platform Tools — официальный пакет от Google, который распаковывается без установки. Проверить его работоспособность можно командой adb version в терминале из папки с распакованным архивом.
Подключение по Wi-Fi: пошаговая инструкция
На устройствах с Android 11 и новее процедура выглядит так. В разделе беспроводной отладки выберите Сопряжение устройства с кодом — появится код, IP и порт сопряжения. На компьютере выполните:
adb pair 192.168.1.50:37109
Введите шестизначный код с экрана. После успешного сопряжения подключитесь к порту, указанному на главном экране беспроводной отладки (он отличается от порта сопряжения):
adb connect 192.168.1.50:43215
Для старых версий Android схема другая: сначала устройство подключается по USB, затем выполняется команда adb tcpip 5555, после чего кабель отсоединяется и используется adb connect IP:5555. Недостаток метода — после перезагрузки устройства TCP-режим сбрасывается, и привязку по USB придётся повторить.
Основные команды adb shell
После подключения проверьте список устройств командой adb devices — удалённое устройство отобразится в формате IP:порт device. Если подключено несколько аппаратов, указывайте целевое явно: adb -s 192.168.1.50:43215 shell.
Набор полезных команд внутри удалённой сессии:
- 📦
pm list packages— список установленных пакетов, удобно искать нужное приложение; - 🗑️
pm uninstall имя.пакета— удаление приложения, включая часть предустановленных; - 📊
dumpsys battery— состояние батареи,dumpsys meminfo— использование памяти; - 📁
adb pushиadb pull— передача файлов между ПК и устройством; - 📸
screencap -p /sdcard/screen.png— снимок экрана удалённого устройства.
| Команда | Назначение | Пример |
|---|---|---|
adb connect | Подключение к устройству по сети | adb connect 192.168.1.50:43215 |
adb pair | Сопряжение по коду (Android 11+) | adb pair 192.168.1.50:37109 |
adb disconnect | Разрыв сетевого соединения | adb disconnect 192.168.1.50 |
adb tcpip 5555 | Переключение adbd в TCP-режим | Требует USB-подключения |
adb devices | Список подключённых устройств | Проверка статуса соединения |
Удалённый доступ через интернет
Стандартный adb connect работает только в пределах локальной сети. Для доступа к устройству через интернет применяют обходные решения: проброс портов на роутере, VPN-объединение сетей (например, WireGuard или Tailscale) либо SSH-туннели. Наиболее безопасный вариант — VPN: устройство и компьютер оказываются в одной виртуальной сети, и дальше используется обычный adb connect с внутренним IP.
⚠️ Внимание: открытый наружу порт ADB — критическая уязвимость. Любой, кто подключится к нему, получит shell-доступ к устройству. Никогда не пробрасывайте порт отладки в интернет напрямую через роутер — используйте только VPN или туннели с шифрованием.
Есть и сторонние приложения, обещающие «remote adb в один клик». Относитесь к ним осторожно: проверяйте, какие разрешения запрашивает программа, и не устанавливайте инструменты из непроверенных источников — они получают доступ к отладочному интерфейсу, а значит, фактически к системе.
Типичные ошибки и их решение
Разберём сбои, которые встречаются чаще всего. Если adb connect возвращает Connection refused, возможные причины: беспроводная отладка выключена, порт изменился после перезапуска функции, либо устройство и ПК находятся в разных подсетях (например, гостевая Wi-Fi сеть с изоляцией клиентов).
Статус unauthorized в выводе adb devices означает, что на устройстве не подтверждён отпечаток ключа. Проверьте экран смартфона — там должен быть диалог разрешения отладки; если он не появляется, отзовите авторизации в настройках разработчика (Отозвать авторизации отладки USB) и подключитесь заново.
⚠️ Внимание: некоторые прошивки автоматически отключают беспроводную отладку при разрыве Wi-Fi или по таймеру бездействия. Если соединение «умирает» само по себе, проверьте настройки энергосбережения и поведение функции в вашей оболочке — это не неисправность, а штатная защита.
Почему порт меняется после каждой перезагрузки
В Android 11+ беспроводная отладка использует mDNS и случайный порт при каждой активации — это мера безопасности, чтобы порт нельзя было угадать. Найти актуальные адрес и порт можно в разделе «Беспроводная отладка» на устройстве или командой adb mdns services на компьютере.
Медленная работа команд и обрывы при adb push больших файлов обычно указывают на слабый сигнал Wi-Fi или перегруженную сеть. Для диагностики выполните ping до устройства с компьютера: потери пакетов подтвердят проблему на уровне сети, а не ADB.
Безопасность при работе с remote ADB
Отладочный интерфейс даёт широкие возможности: чтение файлов, установка и удаление приложений, выполнение системных команд. Поэтому держать беспроводную отладку постоянно включённой не стоит — активируйте её только на время работы и выключайте после завершения.
Дополнительные меры: не включайте ADB в публичных Wi-Fi сетях, периодически отзывайте неиспользуемые авторизации и следите, чтобы к сети, где работает отладка, не имели доступа посторонние устройства. Эти простые правила закрывают основные риски удалённой отладки.
Часто задаваемые вопросы
Можно ли пользоваться remote ADB без root-прав?
Да. Беспроводная отладка — штатная функция Android, root не требуется. Достаточно включить режим разработчика и соответствующий переключатель в настройках.
Почему adb не видит устройство после перезагрузки?
На Android 11+ при каждом включении беспроводной отладки генерируется новый порт, а на старых версиях TCP-режим сбрасывается полностью. Проверьте актуальный порт в настройках устройства и подключитесь заново.
Работает ли remote ADB через мобильный интернет?
Напрямую — нет: операторы обычно выдают «серые» адреса, и прямое подключение невозможно. Решение — VPN-сервисы, объединяющие устройства в общую виртуальную сеть, после чего работает обычный adb connect.
Как отключить удалённую отладку?
На компьютере выполните adb disconnect, а на устройстве выключите переключатель беспроводной отладки в настройках разработчика. Для полного сброса доверенных машин используйте отзыв авторизаций.
Чем remote ADB отличается от scrcpy?
ADB — это командный интерфейс для управления системой и файлами. scrcpy — отдельная программа для трансляции экрана и управления устройством мышью, которая использует ADB как транспорт, но решает другую задачу.