Что означает ошибка device not found
Команда adb devices возвращает список подключённых гаджетов со статусом device или offline, но в вашем случае консоль выводит именно device not found. Это техническое сообщение означает, что демон Android Debug Bridge не получил аппаратный ответ от подключённого телефона, планшета или эмулятора.
Ошибка появляется мгновенно при запуске отладки в Android Studio, выполнении команд через терминал или попытке установки APK через adb install. Система видит физическое подключение, но не может установить защищённый канал обмена данными для разработки.
Причины возникновения
- Неподходящий кабель. Многие дешёвые шнуры поддерживают только зарядку и не имеют линий передачи данных, необходимых для ADB.
- Неверный режим USB. По умолчанию Android подключается в режиме «Зарядка». Для отладки требуется протокол
MTPилиPTP. - Конфликт процессов. Сторонний софт (Samsung Smart Switch, HiSuite, антивирусы с контролем USB) перехватывает порт 5037, не давая серверу
adb serverинициализировать соединение. - Отсутствие драйверов вендора. Windows часто загружает стандартный
MTP Driver, который не поддерживает отладочные команды. - Блокировка на уровне ОС (Linux). Без правил
udevсистема выдаёт устройству праваrootтолько для суперпользователя, а обычный пользователь не может обращаться к/dev/bus/usb/.
Способы решения
Способ 1: Базовая проверка соединения и режима USB
Начните с физического уровня. Отключите кабель и подключите устройство в другой порт материнской платы (на ПК) или используйте оригинальный адаптер. На экране смартфона появится системное уведомление «Зарядка через USB». Тапните по нему и выберите Передача файлов / Android Auto или Передача фото (PTP).
После смены режима подтвердите диалог «Разрешить отладку по USB?» на экране телефона. Если запрос не появился, зайдите в Настройки → Система → Настройки разработчика и принудительно отключите, а затем снова включите переключатель «Отладка по USB».
Способ 2: Принудительный перезапуск демона ADB
Зависший процесс сервера часто является причиной отсутствия отклика. Остановите его и запустите заново через терминал:
adb kill-server
adb start-server
Команда kill-server полностью очищает очередь подключений, а start-server инициализирует чистую сессию. Подождите 5 секунд, подключите кабель и выполните adb devices. Если статус изменился на device, проблема решена.
💡 Совет: Если команда требует прав суперпользователя, добавьте
sudoв начале на Linux/macOS или запустите терминал от имени администратора на Windows.
Способ 3: Ручная установка Google USB Driver (Windows)
Автоматическое обновление Windows часто игнорирует специфические отладочные интерфейсы. Скачайте «USB Driver Package» через SDK Manager (Tools → SDK Tools → Google USB Driver).
- Откройте
Диспетчер устройств. - Найдите раздел «Переносные устройства» или «Другие устройства» с жёлтым значком.
- Нажмите правой кнопкой мыши → Обновить драйвер → Найти драйверы на этом компьютере → Выбрать драйвер из списка доступных.
- Нажмите Установить с диска…, укажите путь:
%LOCALAPPDATA%\Android\Sdk\extras\google\usb_driver. - В списке выберите
Android ADB Interfaceи завершите установку. Переподключите телефон.
Способ 4: Настройка правил доступа udev (Linux)
На Linux устройства Android требуют явного разрешения для работы без sudo. Создайте конфигурационный файл:
sudo nano /etc/udev/rules.d/51-android.rules
Добавьте строку для вашего вендора (пример для Pixel/Google 18d1):
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Сохраните файл, добавьте текущего пользователя в группу plugdev и примените изменения:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
После этого отключите и снова подключите устройство.
Профилактика
Чтобы ошибка не возвращалась в будущем, используйте только кабели с маркировкой Data или оригинальные аксессуары от производителя. Отключайте в настройках разработчика опцию «Автоматическое подтверждение отладки» для публичных USB-портов — это предотвратит случайные конфликты с вредоносным ПО. Регулярно обновляйте пакет platform-tools через Android Studio, так как старые версии часто теряют совместимость с новыми версиями Android и протоколами USB 3.x.