Команда adb devices возвращает пустой список или ошибку «command not found» — значит, утилита либо не установлена, либо система не видит подключённый смартфон. Установка ADB на Linux занимает несколько минут, но есть нюансы: устаревшие пакеты в репозиториях, права доступа к USB и отключённая отладка на телефоне.
ADB (Android Debug Bridge) — консольный инструмент из состава Android SDK Platform Tools, который позволяет управлять Android-устройством с компьютера: устанавливать приложения, снимать логи, перепрошивать разделы, выполнять команды в shell. В этой статье разберём два рабочих способа установки, настройку правил udev и типичные ошибки.
Что нужно перед установкой
Перед началом проверьте две вещи: подключение к интернету для загрузки пакетов и кабель USB, который поддерживает передачу данных (некоторые кабели работают только на зарядку). Также на смартфоне потребуется активировать отладку по USB.
Для этого на Android-устройстве откройте Настройки → О телефоне и несколько раз нажмите на пункт «Номер сборки», пока не появится сообщение о разблокировке режима разработчика. Затем в разделе Для разработчиков включите переключатель «Отладка по USB». Точные названия пунктов могут отличаться в зависимости от оболочки — MIUI, One UI, ColorOS и других.
⚠️ Внимание: отладка по USB открывает доступ к данным устройства с любого компьютера, к которому оно подключено. Не подтверждайте запрос на разрешение отладки на чужих или публичных машинах и отключайте функцию, когда она не нужна.
Способ 1: установка из официального репозитория
Самый быстрый вариант — поставить ADB через пакетный менеджер дистрибутива. В Ubuntu, Debian и производных (Linux Mint, Pop!_OS) пакет называется adb, а для работы с прошивками дополнительно ставится fastboot.
sudo apt update
sudo apt install adb fastboot
Для дистрибутивов на базе Fedora и RHEL команда выглядит так:
sudo dnf install android-tools
Пользователи Arch Linux и Manjaro устанавливают пакет из официального репозитория:
sudo pacman -S android-tools
После установки проверьте версию утилиты:
adb version
Если команда вывела номер версии — установка прошла успешно. Учтите, что пакеты в стабильных репозиториях могут отставать от актуальной версии Platform Tools, поэтому для новых устройств иногда лучше второй способ.
Способ 2: ручная установка из Platform Tools
Этот метод гарантирует свежую версию напрямую от Google. Архив Platform Tools распространяется с официального сайта Android Developers и не требует полной установки Android Studio.
- 📥 Скачайте архив SDK Platform Tools для Linux с официальной страницы разработчиков Android.
- 📂 Распакуйте его в удобный каталог, например в домашнюю папку:
unzip platform-tools-latest-linux.zip -d ~/platform-tools. - ⚙️ Добавьте путь в переменную
PATH, чтобы вызывать adb из любой директории. - 🔄 Перезапустите терминал или выполните
source ~/.bashrcдля применения изменений.
Чтобы добавить путь постоянно, откройте файл ~/.bashrc (или ~/.zshrc, если используете zsh) и допишите в конец строку:
export PATH="$HOME/platform-tools:$PATH"
Теперь команды adb и fastboot доступны глобально. При ручной установке обновления выполняются простой заменой содержимого папки на новую версию архива.
Настройка udev-правил для доступа к устройству
Частая ситуация на Linux: ADB установлен, телефон подключён, но adb devices показывает статус no permissions или пустой вывод. Причина — у обычного пользователя нет прав на USB-устройство. Решается это созданием правила udev.
Создайте файл правил:
sudo nano /etc/udev/rules.d/51-android.rules
Добавьте строку с идентификатором производителя вашего устройства. Узнать vendor ID можно командой lsusb при подключённом телефоне — искомое значение указано в формате ID 18d1:4ee7, где первая часть и есть идентификатор производителя.
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Затем перезагрузите правила и перезапустите сервер ADB:
sudo udevadm control --reload-rules
sudo udevadm trigger
adb kill-server
adb start-server
Проверка подключения устройства
Подключите смартфон кабелем и выполните:
adb devices
При первом подключении на экране телефона появится запрос «Разрешить отладку по USB?» с отпечатком ключа компьютера. Отметьте пункт «Всегда разрешать с этого компьютера» и подтвердите. После этого устройство должно отображаться со статусом device.
☑️ Проверка работоспособности ADB
Если вместо device отображается unauthorized — отзовите разрешения в настройках разработчика на телефоне (пункт «Отозвать доступ для отладки по USB») и подключите заново, подтвердив запрос.
Сравнение способов установки
| Критерий | Репозиторий дистрибутива | Ручная установка Platform Tools |
|---|---|---|
| Скорость установки | Одна команда | Скачивание и распаковка архива |
| Актуальность версии | Может отставать | Всегда свежая от Google |
| Обновления | Автоматически с системой | Вручную заменой файлов |
| Интеграция в систему | Полная, пути настроены | Требуется правка PATH |
Для повседневных задач вроде установки APK и просмотра логов достаточно репозиторной версии. Если вы работаете с новыми устройствами, прошивками или функциями вроде беспроводной отладки — лучше поставить свежие Platform Tools.
Беспроводная отладка по Wi-Fi
В свежих версиях Android доступна отладка по сети без кабеля. На телефоне в разделе «Для разработчиков» включите «Беспроводная отладка», затем на компьютере выполните: adb pair IP:порт (данные для сопряжения показываются на экране телефона), а затем adb connect IP:порт. Оба устройства должны быть в одной сети Wi-Fi.
Решение типичных ошибок
Разберём ошибки, с которыми чаще всего сталкиваются после установки ADB на Linux.
- 🔴 command not found — утилита не установлена или путь к ней не добавлен в
PATH. Проверьте установку командойwhich adb. - 🔴 no permissions (user in plugdev group?) — нет udev-правила или вы не входите в группу
plugdev. Добавьте себя:sudo usermod -aG plugdev $USERи перезайдите в систему. - 🔴 unauthorized — на телефоне не подтверждён запрос на отладку. Отзовите старые разрешения и подключите заново.
- 🔴 offline — обычно помогает перезапуск сервера: adb kill-server && adb start-server, а также смена USB-порта или кабеля.
⚠️ Внимание: не запускайте ADB постоянно через
sudo— это создаёт серверный процесс от root, который затем конфликтует с запуском от обычного пользователя. Правильное решение проблем с доступом — настройка udev-правил, а не повышение привилегий.
Если устройство вообще не определяется системой, проверьте вывод dmesg сразу после подключения кабеля — там видно, распознало ли ядро USB-устройство. Отсутствие записей указывает на аппаратную проблему: кабель, порт или разъём телефона.
Часто задаваемые вопросы
Нужен ли root-доступ на телефоне для работы ADB?
Нет. ADB работает на стоковых устройствах без root — достаточно включённой отладки по USB. Root требуется только для отдельных команд, изменяющих системные разделы.
Чем ADB отличается от Fastboot?
ADB работает, когда Android загружен и запущен, а Fastboot — когда устройство находится в режиме загрузчика (bootloader). Оба инструмента входят в состав Platform Tools и дополняют друг друга.
Можно ли установить ADB через snap или flatpak?
Существуют неофициальные snap-пакеты, однако из-за изоляции среды возможны проблемы с доступом к USB. Надёжнее использовать репозиторий дистрибутива или официальный архив Platform Tools.
Как удалить ADB из системы?
При установке через пакетный менеджер выполните sudo apt remove adb fastboot (для Debian/Ubuntu). При ручной установке достаточно удалить папку platform-tools и строку с PATH из файла ~/.bashrc.
Почему adb devices показывает устройство только с sudo?
Это признак отсутствующего udev-правила. Создайте файл /etc/udev/rules.d/51-android.rules с корректным idVendor вашего устройства, перезагрузите правила — и ADB заработает от обычного пользователя.