Командная строка на Android: полное руководство по ADB и терминалу

Команда adb devices возвращает пустой список, а смартфон подключён кабелем — чаще всего причина в отключённой отладке по USB или в драйвере, а не в самом ADB. Именно с такой проверки начинается любая работа с командной строкой на Android: сначала убеждаемся, что устройство видно, и только потом вводим остальные команды.

Командная строка в экосистеме Android существует в двух видах. Первый — Android Debug Bridge (ADB), инструмент на компьютере, который управляет смартфоном по кабелю или по сети. Второй — терминал непосредственно на устройстве: приложение-эмулятор, выполняющее shell-команды внутри самой системы. Оба подхода решают разные задачи, и ниже разберём каждый.

Что такое ADB и зачем он нужен

ADB — это официальная утилита из состава Android SDK Platform-Tools, которую Google распространяет бесплатно. Она работает на Windows, macOS и Linux и позволяет выполнять на смартфоне действия, недоступные через обычный интерфейс: устанавливать и удалять приложения, снимать логи, передавать файлы, перезагружать устройство в разные режимы.

Архитектура у ADB трёхчастная: клиент на компьютере отправляет команды, сервер на компьютере управляет соединением, а демон adbd на смартфоне исполняет их. Поэтому для работы нужны обе стороны — настроенный компьютер и смартфон с включённой отладкой.

Типичные сценарии, где командная строка незаменима:

  • 📦 Установка APK-файла без магазина приложений — adb install app.apk
  • 🗑️ Удаление предустановленных системных приложений для текущего пользователя
  • 📋 Снятие системного журнала через adb logcat для диагностики сбоев
  • 🔄 Перезагрузка в recovery или fastboot одной командой
  • 📁 Копирование файлов между ПК и смартфоном через adb push и adb pull

Установка Platform-Tools и подготовка смартфона

Для начала скачайте архив SDK Platform-Tools с официального сайта для разработчиков Android и распакуйте его в отдельную папку, например C:\platform-tools. Установка не требуется — достаточно открыть командную строку Windows в этой папке (через контекстное меню «Открыть в терминале» или командой cd).

На смартфоне необходимо активировать режим разработчика. Откройте Настройки → О телефоне и несколько раз коснитесь строки «Номер сборки», пока система не подтвердит включение. Затем в разделе Система → Для разработчиков включите переключатель «Отладка по USB». Точные названия пунктов зависят от оболочки производителя, поэтому при расхождениях сверьтесь с документацией своей модели.

⚠️ Внимание: режим разработчика открывает доступ к чувствительным настройкам. Не меняйте незнакомые параметры в этом разделе и не давайте разрешение на отладку чужим компьютерам — в диалоге подтверждения всегда проверяйте отпечаток ключа.

☑️ Подготовка ADB к работе

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

Первое подключение и проверка связи

Подключите смартфон кабелем, который поддерживает передачу данных (некоторые кабели — только для зарядки). На экране устройства появится запрос «Разрешить отладку по USB?» — подтвердите его. После этого выполните в терминале компьютера:

adb devices

Если всё настроено верно, в ответе появится серийный номер устройства со статусом device. Статус unauthorized означает, что разрешение на смартфоне не подтверждено, а пустой список — что система вообще не видит устройство.

Когда список пуст, проверьте по порядку: сам кабель, другой USB-порт, установку драйвера (на Windows иногда требуется отдельный USB-драйвер производителя), а также перезапуск сервера командой adb kill-server с последующим повторным adb devices.

Основные команды ADB

Базовый набор команд покрывает большинство повседневных задач. Вам не нужно заучивать весь синтаксис — достаточно понимать логику: adb + действие + объект.

КомандаНазначениеПример
adb installУстановка APKadb install app.apk
adb uninstallУдаление приложения по имени пакетаadb uninstall com.example.app
adb shellИнтерактивный терминал на устройствеadb shell ls /sdcard
adb push / pullПередача файловadb pull /sdcard/DCIM ./photos
adb rebootПерезагрузка (обычная, recovery, bootloader)adb reboot recovery

Отдельно стоит logcat — команда adb logcat выводит системный журнал в реальном времени. Поток сообщений очень плотный, поэтому его обычно фильтруют по тегу или уровню важности, либо сохраняют в файл: adb logcat -d > log.txt.

⚠️ Внимание: команды adb shell pm uninstall для системных пакетов могут нарушить работу прошивки, если удалить критичный компонент. Перед удалением уточните назначение пакета и используйте вариант pm uninstall -k --user 0 имя_пакета, который удаляет приложение только для текущего пользователя и обратим через переустановку или сброс.
📊 Для чего вы используете командную строку на Android?
Удаление лишних системных приложений
Установка APK и передача файлов
Диагностика и снятие логов
Прошивка и разблокировка загрузчика

Терминал прямо на смартфоне

Если компьютера под рукой нет, командная строка доступна и на самом устройстве через приложения-эмуляторы терминала. Наиболее известный вариант — Termux: это полноценная среда с пакетным менеджером, где можно ставить утилиты Linux, писать скрипты и работать с файлами в пределах разрешений Android.

Важно понимать ограничения. Без root-прав терминал на устройстве действует в песочнице: доступ к системным разделам и чужим данным приложений закрыт. Это не недостаток конкретной программы, а принцип безопасности Android. Для расширенных операций вроде изменения системных файлов потребуется root, что сопряжено с рисками гарантии и безопасности.

Что реально делать в Termux без root:

  • 🐍 Запускать скрипты на Python и других языках
  • 🌐 Использовать сетевые утилиты: ping, curl, ssh
  • 📝 Редактировать текстовые файлы и работать с git
  • 🤖 Подключаться к ADB по сети с другого устройства
Беспроводная отладка без кабеля

На Android 11 и новее в настройках разработчика есть «Беспроводная отладка». Включите её, подтвердите сопряжение по коду, затем на компьютере выполните adb pair с указанным адресом и портом, а после — adb connect. Точный вид диалога зависит от версии системы.

Типичные ошибки и их решение

Ошибка device unauthorized возникает, когда разрешение на отладку отозвано или не подтверждено. Решение — отключить и снова включить отладку по USB, отозвать разрешения в настройках разработчика и подтвердить диалог заново при следующем подключении.

Сообщение adb: command not found (или «не является внутренней или внешней командой» в Windows) означает, что терминал не находит исполняемый файл. Либо вы запускаете команду не из папки Platform-Tools, либо путь не добавлен в PATH.

Если устройство видно, но команды зависают или обрываются, возможная причина — нестабильный кабель, конфликтующие программы синхронизации от производителя смартфона или устаревшая версия Platform-Tools. Обновите инструменты до актуальной версии и временно закройте сторонние утилиты, работающие с телефоном.

⚠️ Внимание: команды fastboot flashing unlock и прошивка разделов через fastboot flash стирают данные и могут сделать устройство незагружаемым при ошибке. Выполняйте их только с инструкцией для вашей конкретной модели и с резервной копией данных.

Меры безопасности при работе с командной строкой

Командная строка даёт прямой доступ к системе, поэтому базовая гигиена обязательна. Держите отладку по USB выключенной, когда она не используется, — особенно если смартфон бывает вне дома. Никогда не подтверждайте диалог разрешения отладки при подключении к чужим компьютерам и публичным зарядным станциям.

Команды из интернета проверяйте перед выполнением. Безобидная на вид строка может содержать удаление данных или изменение системных настроек. Если вы не понимаете, что делает команда — не выполняйте её, пока не разберётесь в каждом параметре.

Для экспериментов безопаснее использовать второстепенное устройство или эмулятор Android из Android Studio, где любые ошибки не затронут личные данные.

Часто задаваемые вопросы

Нужны ли root-права для работы ADB?

Нет. ADB работает на стоковом смартфоне без root — достаточно включённой отладки по USB. Root требуется лишь для операций, изменяющих системные разделы изнутри самого устройства.

Чем ADB отличается от Fastboot?

ADB работает, когда система Android загружена (или в recovery с поддержкой ADB). Fastboot — это протокол низкоуровневого режима загрузчика, используемый для прошивки разделов. Это разные инструменты для разных состояний устройства.

Можно ли пользоваться командной строкой без компьютера?

Да — через приложения-терминалы вроде Termux. Однако без root-права их возможности ограничены разрешениями обычного приложения: системные файлы и данные других программ будут недоступны.

Почему adb devices показывает пустой список?

Проверьте по порядку: включена ли отладка по USB, поддерживает ли кабель передачу данных, установлен ли драйвер (для Windows), подтверждён ли диалог разрешения на смартфоне. Также помогает перезапуск сервера командой adb kill-server.

Опасно ли удалять системные приложения через ADB?

Удаление для текущего пользователя (pm uninstall --user 0) обратимо и относительно безопасно для второстепенных программ. Но удаление критичных компонентов системы может нарушить работу прошивки, поэтому заранее выясняйте назначение каждого пакета.