ADB Shell часто воспринимают как инструмент для разработчиков, хотя на деле командная строка Android полезна и для обычной практики. Через ADB Shell можно быстро проверить состояние устройства, удалить лишний софт, посмотреть системные логи, найти проблемное приложение и добраться до настроек, которые в интерфейсе спрятаны глубже, чем хотелось бы. Пугаться консоли не нужно. Пугаться стоит разве что команды, которую вставили из случайного форума без чтения.
Главное преимущество ADB Shell в том, что работа идёт напрямую с устройством. Пользователь не тыкается по меню вслепую, а выполняет точные действия. Такой подход особенно удобен, когда смартфон тормозит, приложение падает, память внезапно закончилась, а оболочка производителя снова решила проявить характер.
Для начала на телефоне включают режим разработчика и активируют отладку по USB. Затем устройство подключают к компьютеру, подтверждают ключ RSA на экране смартфона и проверяют связь командой:
adb devices
Если устройство появилось в списке, можно входить в оболочку:
adb shell
После входа пользователь попадает в Unix-окружение Android. Дальше уже начинается нормальная работа. Важный момент простой: команды adb shell команда и запуск команды после входа в оболочку дают один и тот же результат. Первый вариант удобнее для разовых действий, второй подходит для серии команд подряд.
С чего начать: базовые команды, которые нужны почти всегда
Первый практический блок связан не с «хакерскими приёмами», а с обычной диагностикой. Сначала полезно понять, где находится пользователь, от какого имени работает оболочка и что вообще доступно. Для этого хватает нескольких коротких команд.
pwd показывает текущую папку. ls выводит содержимое каталога. cd /sdcard переводит в пользовательское хранилище. whoami помогает понять, под каким пользователем запущена оболочка. На большинстве обычных устройств ADB Shell работает без полного root-доступа, поэтому часть системных разделов будет только для чтения.
Для быстрой оценки устройства полезны такие команды:
getprop ro.product.model- модель смартфонаgetprop ro.build.version.release- версия Androidgetprop | grep -i miui- признаки оболочки MIUIdf -h- занятое и свободное местоfree -h- использование оперативной памяти, если команда поддерживается
Отдельно полезно запомнить exit для выхода из оболочки и adb reboot для обычной перезагрузки. Когда смартфон завис, а экран реагирует через раз, команда на перезагрузку иногда экономит больше времени, чем попытки победить интерфейс вручную.
Если нужно быстро сделать скриншот или записать экран без сторонних программ, ADB Shell тоже помогает. Скриншот создают так:
adb shell screencap /sdcard/screen.png
Потом файл копируют на компьютер:
adb pull /sdcard/screen.png
Работа с файлами и папками без лишней возни
ADB Shell удобен, когда нужно быстро найти крупные файлы, удалить мусор или проверить содержимое каталогов. Для такой работы не нужен root, если речь идёт о доступных разделах вроде /sdcard. В реальной жизни такой сценарий встречается постоянно: память забилась, галерея тормозит, мессенджер раздул кэш до размеров приличного архива, а пользователь клянётся, что «ничего не ставил».
Для навигации обычно хватает связки из cd, ls и find. Например:
adb shell ls /sdcard/Download
adb shell find /sdcard -name "*.apk"
adb shell du -sh /sdcard/DCIM
Если нужно удалить папку с кэшем или отдельный файл, используют rm. Действовать лучше аккуратно:
adb shell rm /sdcard/Download/test.apk
adb shell rm -rf /sdcard/Android/data/имя.пакета/cache
Команда rm -rf не спрашивает разрешения и не проявляет сочувствия. Перед удалением полезно сначала посмотреть содержимое каталога через ls. Один неверный путь, и уборка превращается в импровизированный эксперимент по цифровой археологии.
Для обмена файлами между компьютером и смартфоном чаще используют не оболочку, а команды ADB рядом с ней:
adb push файл /sdcard/Download/- отправить файл на устройствоadb pull /sdcard/Download/файл- скачать файл с устройства
На практике такой способ удобнее любого проводника, когда нужно быстро закинуть APK, конфиг, лог или вытащить резервную копию нужной папки.
Управление приложениями: установка, удаление, запуск и очистка
Одна из самых полезных частей ADB Shell связана с пакетным менеджером и менеджером активностей. Через pm и am можно смотреть установленные приложения, отключать лишние пакеты, очищать данные и даже запускать нужные экраны без долгих поисков по меню.
Чтобы увидеть список пакетов, используют:
adb shell pm list packages
Для фильтрации по названию:
adb shell pm list packages | grep youtube
Удаление приложения для текущего пользователя без root выглядит так:
adb shell pm uninstall --user 0 имя.пакета
Так часто убирают предустановленный софт. Полностью из системного раздела пакет не исчезает, но для владельца устройства приложение перестаёт мешаться. Для обратного включения пригодится:
adb shell cmd package install-existing имя.пакета
Если приложение глючит, но удалять пакет не хочется, обычно хватает очистки данных:
adb shell pm clear имя.пакета
Запуск приложения по имени пакета и активности:
adb shell am start -n имя.пакета/.MainActivity
Когда точное имя активности неизвестно, сначала смотрят данные через dumpsys package имя.пакета. Такой приём полезен и для диагностики, и для автоматизации.
Логи, процессы и диагностика проблем
Когда приложение вылетает, смартфон греется или батарея исчезает быстрее здравого смысла, ADB Shell становится уже не удобством, а рабочим инструментом. Самое важное здесь три команды: logcat, dumpsys и top.
adb shell logcat показывает системные логи в реальном времени. Для отладки конкретного приложения удобнее фильтровать вывод. Простейший вариант:
adb shell logcat | grep имя.пакета
Если нужен снимок состояния системы, используют dumpsys. Команда огромная по возможностям, но в быту чаще всего полезны такие варианты:
adb shell dumpsys battery- состояние батареиadb shell dumpsys meminfo имя.пакета- расход памяти приложениемadb shell dumpsys package имя.пакета- сведения о пакетеadb shell dumpsys activity activities- текущие активности
Для просмотра процессов и нагрузки подойдёт:
adb shell top -n 1
Когда нужно завершить зависший процесс, используют:
adb shell am force-stop имя.пакета
Если задача упирается в сетевую активность, полезно сохранить лог в файл и разбирать уже спокойно, а не ловить строки глазами в потоке, который летит быстрее утренних новостей.
Настройки устройства и полезные приёмы на каждый день
Через ADB Shell можно менять часть системных параметров, открывать конкретные разделы настроек и проверять свойства системы. Самый практичный инструмент здесь команда settings. С ней нужно работать осторожно, но в разумных пределах пользы много.
Примеры, которые реально пригождаются:
adb shell settings get system screen_brightness- прочитать яркость экранаadb shell settings put system screen_brightness 120- выставить яркостьadb shell settings get global adb_enabled- проверить состояние отладки
Для открытия нужного раздела настроек используют интенты:
adb shell am start -a android.settings.SETTINGS
adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:имя.пакета
Второй вариант особенно удобен, когда нужно быстро открыть карточку конкретного приложения и не блуждать по меню прошивки, где названия разделов каждый производитель придумывает как отдельный вид творчества.
Ещё одна полезная привычка связана с командами в одну строку. Вместо входа в оболочку и ручного набора можно выполнять действие сразу:
adb shell pm clear имя.пакета
Так быстрее собирать собственный набор часто используемых команд в заметке или скрипте. Для редактора, тестировщика, сервисного инженера или просто аккуратного владельца Android-смартфона такой мини-набор очень быстро превращается в рабочий инструмент на каждый день.
Заключение
ADB Shell полезен не потому, что выглядит «профессионально», а потому что решает реальные задачи без лишних движений. Через несколько базовых команд пользователь получает контроль над файлами, приложениями, логами и частью системных настроек. Для большинства практических сценариев большего и не нужно.
Лучший способ освоить ADB Shell простой: не читать сотню абстрактных описаний, а держать под рукой устройство и повторять короткие действия. Посмотреть свойства системы, выгрузить лог, очистить данные приложения, удалить ненужный пакет для пользователя, проверить память, открыть экран настроек. После такой практики консоль перестаёт казаться чем-то пугающим и начинает работать как обычный инструмент.
Главное правило остаётся неизменным. Любую команду, которая меняет состояние системы, сначала читают, потом запускают. ADB Shell любит точность и очень не любит привычку копировать команды без проверки. При аккуратном подходе инструмент экономит время, помогает быстрее чинить Android-устройства и даёт тот уровень контроля, которого в стандартном интерфейсе часто не хватает.
FAQ
Как зайти в ADB Shell на Android-устройстве?
Нужно включить режим разработчика, активировать отладку по USB, подключить смартфон к компьютеру, подтвердить ключ на экране устройства и выполнить команду adb shell. Перед входом полезно проверить соединение через adb devices.
Какие команды ADB Shell нужны для начинающих?
Для старта обычно хватает pwd, ls, cd, getprop, df -h, pm list packages, pm clear, am force-stop, logcat и dumpsys. Такой набор закрывает диагностику, файлы и приложения.
Можно ли через ADB Shell удалить системные приложения?
Без root обычно удаляют пакет только для текущего пользователя командой pm uninstall --user 0 имя.пакета. Приложение исчезает из интерфейса и перестаёт работать для владельца устройства, но файл в системном разделе может остаться.
Как очистить данные приложения через ADB Shell?
Используют команду adb shell pm clear имя.пакета. Android удалит кэш и пользовательские данные выбранного приложения. После очистки приложение запускается как после первой установки.
Как посмотреть логи Android через ADB Shell?
Для просмотра логов в реальном времени используют adb shell logcat. Если нужен анализ конкретного приложения, вывод фильтруют по имени пакета или тегам. Для системной диагностики также полезны команды семейства dumpsys.
Полезные официальные материалы: документация по ADB, справка по dumpsys, руководство по logcat, обновления Platform-Tools.
