Как использовать ADB и Fastboot на Linux

Что такое ADB и fastboot
ADB (Android Debug Bridge) — это командный инструмент для связи между компьютером и Android‑устройством. Он используется для установки APK, просмотра логов, копирования файлов и удалённого выполнения команд на устройстве.
Fastboot — отдельный низкоуровневый инструмент, предназначенный для работы с загрузчиком и флеш‑памятью устройства: разблокировка загрузчика, прошивка разделов, загрузка временных образов восстановления. Доступен при загрузке телефона в режим bootloader/fastboot.
Определения в одну строку:
- ADB: утилита для отладки и управления Android в работающей системе;
- Fastboot: утилита для изменения содержимого флеш‑памяти через режим загрузчика.
Важно: операции с fastboot часто необратимы. Перед изменениями сделайте резервную копию данных.
Зачем это нужно
- Отладка приложений и захват логов (logcat);
- Установка/удаление APK без Play Store;
- Снятие скриншотов и запись экрана с компьютера;
- Разблокировка загрузчика, прошивка кастомных образов и восстановление системы;
- Восстановление устройства при программном сбое (при наличии образов).
Установка ADB и fastboot на Linux
- Скачайте Android SDK Platform Tools с официальной страницы релизов (раздел Downloads).
- Нажмите «Download SDK Platform‑Tools for Linux» и сохраните ZIP.
Распакуйте ZIP в удобную папку и откройте терминал в каталоге platform-tools. Там будут файлы adb и fastboot.
Сделайте исполняемыми бинарники (если требуется):
chmod +x ./adb ./fastboot- Рекомендуется добавить platform-tools в PATH, чтобы не запускать утилиты из каталога каждый раз. Например, для bash/zsh:
export PATH="$HOME/platform-tools:$PATH"
# Добавьте строку в ~/.bashrc или ~/.zshrc- Настройте udev‑правила (для Debian/Ubuntu/Fedora) — это позволит запускать adb/fastboot без sudo и избежать проблем с правами. Создайте файл, например /etc/udev/rules.d/51-android.rules, и добавьте строки для производителей:
# Пример: Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# Пример: Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"После сохранения перезапустите udev:
sudo udevadm control --reload-rules && sudo udevadm trigger- Теперь подключите устройство по USB, включите «Отладку по USB» (USB debugging) в настройках разработчика и проверьте:
adb devicesЕсли устройство обнаружено, вы увидите список с идентификатором и пометкой device.
Частые команды и примеры (cheat sheet)
Основные команды ADB:
adb devices # показать подключённые устройства
adb logcat # посмотреть логи в реальном времени
adb install app.apk # установить APK
adb uninstall com.example # удалить приложение
adb pull /sdcard/file.txt # скопировать файл с устройства
adb push local.txt /sdcard/ # скопировать файл на устройство
adb shell # войти в shell устройства
adb reboot # перезагрузить устройство
adb reboot bootloader # перезагрузить в bootloader/fastbootОсновные команды fastboot (в режиме fastboot):
fastboot devices # показать устройства в режиме fastboot
fastboot oem unlock # разблокировать загрузчик (у некоторых OEM другой синтаксис)
fastboot flash boot boot.img # прошить раздел boot
fastboot format userdata # отформатировать userdata (стереть всё)
fastboot reboot # перезагрузить из fastboot в AndroidКак перейти в режим fastboot
- Через ADB (когда устройство загружено и доступно по USB):
adb reboot bootloader- Через аппаратные клавиши: комбинация зависит от модели (обычно одновременно удерживать кнопку питания + громкость вниз на выключенном устройстве).
Беспроводной ADB (через TCP/IP)
Если USB‑кабель отсутствует, можно включить ADB по сети (на одной Wi‑Fi сети). Общая последовательность:
- Подключите устройство по USB и включите отладку.
- Узнайте IP‑адрес устройства в настройках Wi‑Fi или через adb:
adb shell ip -f inet addr show wlan0- Включите ADB через TCP/IP на стандартном порте 5555:
adb tcpip 5555- Отсоедините USB и подключитесь по IP:
adb connect 192.168.1.42:5555- Чтобы отключить — выполните adb disconnect и верните tcpip в USB‑режим повторным подключением по USB и adb usb.
Важно: ADB по Wi‑Fi небезопасен в публичных сетях — используйте в локальной защищённой сети.
udev‑правила и права доступа (подробно)
Если команда adb/fastboot работает только с sudo, значит права USB не настроены. Убедитесь, что:
- резервная копия /etc/udev/rules.d/51-android.rules создана;
- у файла правильные права (chmod 644);
- пользователь входит в группу plugdev (sudo usermod -aG plugdev $USER).
После изменений перезагрузите udev и при необходимости выйдите и зайдите в сессию пользователя.
Безопасность и риск‑матрица
| Операция | Риск | Меры предосторожности |
|---|---|---|
| Разблокировка загрузчика | Высокий: потеря гарантии, удаление шифрования | Резервная копия, узнать политику OEM, сохранять ключи шифрования |
| Прошивка boot/recovery | Средний: загрузочный цикл | Проверять образ: checksum, совместимость |
| Формат userdata | Высокий: потеря всех данных | Сделать резервную копию заранее |
| adb tcpip | Низкий/средний: сеть | Использовать в защищённой сети, отключать после использования |
Важно: некоторые действия могут сделать устройство неработоспособным (brick). Всегда сохраняйте резервные копии и, если возможно, Nandroid‑дамп через TWRP.
Шаблон проверки перед операцией (mini‑methodology)
- Ознакомьтесь с документацией устройства и прошивки.
- Снимите полную резервную копию пользовательских данных.
- Проверьте целевой образ (хэш, совместимость модели/версии).
- Настройте udev и протестируйте adb/fastboot команды в режиме «read‑only» (например, fastboot devices).
- Выполните операцию и мониторьте вывод команд.
- В случае ошибки — сохранить логи и не отключать питание устройства до подтверждения статуса.
Ролевые чек‑листы
Для разработчика:
- Включить отладку по USB;
- Проверить adb devices;
- Использовать adb logcat и фильтры по тегам;
- Автоматизировать установку APK через CI.
Для power‑user (энтузиаста):
- Настроить udev и PATH;
- Научиться базовым fastboot операциям (boot, flash boot);
- Хранить резервные копии и загрузочные образы.
Для системного администратора/реховера:
- Иметь локальный репозиторий образов и checksum;
- Документировать шаги отката;
- Поддерживать безопасную сеть для беспроводного adb.
Совместимость и тонкости производителей
- Некоторые OEM (например, Xiaomi, Huawei) требуют отдельной разблокировки загрузчика через их сервисы и могут накладывать ограничения;
- На последних версиях Android включённая шифровка данных при разблокировке загрузчика может привести к потере доступа к закодированным данным;
- Не все устройства поддерживают adb tcpip; на некоторых новых прошивках этот режим ограничен.
Критические заметки: перед разблокировкой загрузчика уточните политику производителя по гарантии и восстановлению.
Короткий глоссарий
- bootloader — загрузчик устройства, выполняющий проверку и загрузку ОС;
- recovery — раздел для восстановления и прошивки образов;
- OEM unlock — разрешение разблокировки загрузчика;
- Nandroid — полная резервная копия разделов устройства.
Короткие тесты приёмки
- adb devices должен показать устройство без sudo;
- adb shell ls /sdcard возвращает содержимое, если доступ разрешён;
- После adb reboot bootloader устройство входит в fastboot и fastboot devices показывает идентификатор;
- fastboot reboot возвращает устройство в Android без ошибок.
Итог и рекомендации
ADB и fastboot дают мощный контроль над Android‑устройством, но требуют внимания к правам доступа и безопасности. Настройте udev, добавьте platform‑tools в PATH, всегда делайте резервные копии и выполняйте критические операции (разблокировка, прошивка) только после проверки образов и понимания рисков.
Важно: если вы не уверены в конкретной команде для вашего устройства, найдите официальную или сообщественную документацию для вашей модели.
Краткие рекомендации:
- Используйте adb для отладки и мелких операций;
- Используйте fastboot для операций с загрузчиком и прошивкой;
- Беспроводной ADB — удобно, но только в безопасной сети.
Полезные ссылки и ресурсы
- Страница релизов Android SDK Platform Tools — для загрузки последней версии;
- Документация производителя устройства — для инструкций по разблокировке загрузчика и совместимых образов.
Похожие материалы
Запуск Snort на Linux — установка и настройка
Как пополнить счёт в Revolut — полное руководство
Уход за инструментами: продлите срок службы
Потеря пакетов в Smite: как исправить
Как добавить фото в историю Instagram