Установка ADB на Linux: полное руководство

Команда 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, поэтому для новых устройств иногда лучше второй способ.

📊 Каким способом вы устанавливали ADB на Linux?
Через репозиторий дистрибутива
Вручную из Platform Tools
Через snap или flatpak
Ещё только планирую установить

Способ 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

Выполнено: 0 / 6

Если вместо 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 заработает от обычного пользователя.