Команда adb devices в терминале Manjaro выдаёт пустой список или ошибку «command not found» — в большинстве случаев причина в том, что пакет Platform Tools либо не установлен, либо системе не хватает правила udev для доступа к Android-устройству. Оба варианта решаются за несколько минут, если действовать в правильном порядке.
Эта статья разбирает установку Android SDK Platform Tools в Manjaro Linux тремя способами — через официальные репозитории, через AUR и вручную с сайта Google, а также настройку прав доступа и диагностику типовых ошибок. Конкретные названия пакетов и команды могут отличаться в зависимости от актуального состояния репозиториев, поэтому перед выполнением стоит свериться с выводом менеджера пакетов на вашей системе.
Что входит в Platform Tools и зачем это нужно
Platform Tools — это официальный набор утилит от Google для взаимодействия компьютера с Android-устройствами. В него входят ADB (Android Debug Bridge), Fastboot и несколько вспомогательных инструментов. Именно через ADB выполняется отладка приложений, установка APK, просмотр логов и передача файлов, а Fastboot используется для работы с загрузчиком и прошивки разделов.
Для обычного пользователя чаще всего нужны две вещи: перекинуть файлы через отладочный режим или разблокировать загрузчик перед установкой альтернативной прошивки. Разработчику же на Manjaro Platform Tools нужен постоянно — как часть окружения для Android Studio и других IDE.
- 📱 ADB — отправка команд на устройство, установка и удаление приложений, доступ к shell.
- ⚡ Fastboot — прошивка разделов, разблокировка загрузчика, работа в режиме bootloader.
- 🔍 Логи — чтение системных сообщений через
adb logcatдля диагностики сбоев. - 📦 Установка APK — команда
adb installбез магазина приложений.
Способ 1: установка из официальных репозиториев
Самый простой путь — пакет android-tools, который обычно доступен в репозиториях Manjaro и Arch. Установка выполняется стандартным менеджером пакетов pamac или pacman:
sudo pacman -S android-tools
После установки проверьте, что бинарные файлы на месте, запросив версию:
adb version
fastboot --version
Если команды выводят номер версии — инструменты установлены и прописаны в PATH автоматически. Если пакет не найден, обновите базу пакетов командой sudo pacman -Sy и повторите попытку: зеркало могло отдавать устаревший список.
Способ 2: установка через AUR
В AUR (Arch User Repository) доступен пакет android-sdk-platform-tools, который ставит официальную сборку от Google. Этот вариант подходит, если версия в основных репозиториях по какой-то причине не устраивает. Для установки потребуется AUR-хелпер, например pamac с включённой поддержкой AUR или yay:
pamac build android-sdk-platform-tools
Учтите, что пакет из AUR может устанавливать файлы в отдельный каталог вроде /opt, и путь к утилитам придётся добавить в PATH вручную — точное расположение смотрите в выводе установщика или в описании пакета на странице AUR. Не смешивайте оба способа одновременно: две копии ADB разных версий могут конфликтовать, и демон ADB будет перезапускаться с ошибками.
Способ 3: ручная установка с сайта Google
Google распространяет Platform Tools отдельным ZIP-архивом для Linux. Этот способ даёт самую свежую версию напрямую от разработчика, но требует ручной настройки. Общий порядок такой:
- Скачайте архив Platform Tools для Linux с официального сайта Android Developers.
- Распакуйте его в удобный каталог, например
~/platform-tools. - Добавьте путь в переменную
PATH, дописав строку в~/.bashrcили~/.zshrc:
export PATH="$HOME/platform-tools:$PATH"
После этого перезапустите терминал или выполните source ~/.bashrc и проверьте adb version. Минус метода — обновления придётся скачивать вручную, плюс — вы всегда контролируете версию и не зависите от сопровождающих пакета.
⚠️ Внимание: скачивайте архив только с официального сайта Google. Сторонние «сборки ADB» с файлообменников могут содержать модифицированные бинарные файлы, что критично для инструмента с доступом к вашему телефону.
Настройка прав udev: почему ADB не видит устройство
Наиболее частая проблема в Manjaro — adb devices показывает пустой список или статус no permissions, хотя телефон подключён и отладка по USB включена. Причина почти всегда в отсутствии правила udev, которое даёт обычному пользователю доступ к USB-устройству.
Пакет android-tools из репозиториев обычно подтягивает пакет android-udev с готовыми правилами — проверьте его наличие командой pacman -Qs android-udev. Если пакета нет, установите его и перезагрузите правила:
sudo udevadm control --reload-rules
sudo udevadm trigger
☑️ ADB не видит устройство — порядок проверки
Ещё один рабочий вариант — добавить себя в группу adbusers, если она предусмотрена установленными правилами: sudo usermod -aG adbusers $USER, затем перелогиниться. Точное имя группы зависит от пакета правил, поэтому сверяйтесь с содержимым файлов в /usr/lib/udev/rules.d/.
⚠️ Внимание: не запускайте ADB постоянно через sudo — это создаёт файлы сервера с правами root в домашнем каталоге, и позже обычный запуск начнёт падать с ошибками доступа. Правильное решение — настроить udev, а не повышать привилегии.
Сравнение способов установки
| Способ | Источник | Обновления | Настройка PATH |
|---|---|---|---|
| Репозитории (android-tools) | Manjaro/Arch | Автоматически с системой | Не требуется |
| AUR (android-sdk-platform-tools) | Сборка из AUR | При пересборке пакета | Иногда вручную |
| ZIP с сайта Google | Официальный архив | Вручную | Вручную через .bashrc |
| Android Studio SDK Manager | Google через IDE | Через SDK Manager | Обычно автоматически |
Для большинства пользователей оптимален первый вариант: минимум действий, интеграция с системой обновлений и готовые правила udev. Ручная установка оправдана, когда нужна конкретная свежая версия ADB, которой ещё нет в репозиториях.
Типичные ошибки и их решение
Разберём ошибки, которые чаще всего встречаются после установки. Формулировки могут немного отличаться в зависимости от версии ADB, но суть сохраняется.
- 🔌 «no permissions (user in plugdev group...)» — нет правила udev; установите
android-udevи перезагрузите правила. - 🔁 «adb server version doesn't match» — конфликт двух копий ADB; оставьте одну и выполните
adb kill-server. - 🚫 «unauthorized» — на телефоне не подтверждён RSA-ключ; отзовите разрешения в настройках разработчика и подключите заново.
- ⏳ Fastboot не видит устройство, хотя ADB видит — для режима bootloader тоже нужны правила udev; проверьте, что устройство определяется в
lsusb.
Как проверить, что устройство вообще видно системе
Выполните lsusb до и после подключения телефона. Если новая строка с ID производителя появилась — USB-уровень работает, проблема в правах или в ADB. Если строки нет — проверяйте кабель, порт и режим USB на телефоне.
Если устройство определяется как unauthorized, сначала отключите и заново включите отладку по USB в настройках разработчика на телефоне, затем повторите подключение — диалог подтверждения появится снова. Пункты меню разработчика различаются у разных производителей, поэтому точный путь смотрите в документации к своей модели.
Проверка работоспособности и первые команды
После установки и настройки прав имеет смысл прогнать короткую проверку. Подключите телефон, подтвердите отладку и выполните:
adb devices
adb shell getprop ro.product.model
Первая команда должна показать серийный номер со статусом device, вторая — вывести модель телефона. Это подтверждает, что канал связи работает в обе стороны. Для Fastboot переведите устройство в режим загрузчика (способ зависит от модели) и проверьте fastboot devices.
Часто задаваемые вопросы
Чем android-tools отличается от полного Android SDK?
Пакет android-tools содержит только утилиты командной строки — ADB и Fastboot. Полный Android SDK включает эмуляторы, системные образы, инструменты сборки и нужен в основном разработчикам приложений.
Нужен ли root на телефоне для работы ADB?
Нет. Для базовых команд ADB достаточно включённой отладки по USB в настройках разработчика. Root требуется только для команд, затрагивающих защищённые разделы системы.
Почему после обновления системы ADB перестал видеть телефон?
Возможная причина — обновление затронуло правила udev или версию ADB, из-за чего старый демон конфликтует с новым. Выполните adb kill-server, перезагрузите правила udev и подключите устройство заново.
Можно ли использовать ADB по Wi-Fi в Manjaro?
Да, если устройство и компьютер в одной сети, а на телефоне доступна беспроводная отладка (в современных версиях Android она включается в меню разработчика). Подключение выполняется командой adb connect с указанием адреса устройства, но точная процедура зависит от версии Android на телефоне.
Безопасно ли разблокировать загрузчик через fastboot?
Сама команда штатная, но разблокировка стирает данные на устройстве и может повлиять на гарантию и работу банковских приложений. Перед этим шагом изучите документацию именно вашей модели и сделайте резервную копию.