ADB Package List: полный список пакетов приложений на Android

Чтобы посмотреть список всех установленных приложений на Android-устройстве через компьютер, достаточно выполнить команду adb shell pm list packages — она выводит имена пакетов всех программ, включая системные, которые не отображаются в обычном меню настроек. Это базовый инструмент для поиска предустановленного «мусора», диагностики конфликтов приложений и подготовки к удалению ненужных компонентов без root-прав.

Команда относится к Android Debug Bridge — утилите из состава Android SDK Platform-Tools. Работает она на Windows, macOS и Linux, а единственное требование со стороны смартфона — включённая отладка по USB в меню разработчика. Дальше разберём, как правильно подключить устройство, какие модификаторы команды существуют и как фильтровать вывод под конкретные задачи.

Подготовка: включение отладки по USB и установка ADB

Перед первым запуском команды необходимо активировать режим разработчика на смартфоне. Для этого откройте настройки, найдите раздел «О телефоне» и несколько раз нажмите на пункт Номер сборки — система сообщит, что вы стали разработчиком. Точное расположение пункта зависит от оболочки производителя, поэтому при необходимости сверьтесь с инструкцией для вашей модели.

После этого в настройках появится раздел «Для разработчиков», где нужно включить переключатель Отладка по USB. На компьютере установите пакет Platform-Tools с официального сайта для разработчиков Android и распакуйте архив в удобную папку.

Подключите смартфон кабелем и проверьте соединение командой:

adb devices

Если устройство определилось, в списке появится его серийный номер со статусом device. При первом подключении на экране смартфона появится запрос на разрешение отладки — подтвердите его и при желании поставьте галочку «Всегда разрешать для этого компьютера».

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

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

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

Базовая команда adb shell pm list packages

Основная команда для вывода полного списка пакетов выглядит так:

adb shell pm list packages

В ответ терминал выведет строки вида package:com.android.settings, где после префикса package: указано уникальное имя пакета приложения. Именно это имя используется во всех последующих операциях — удалении, отключении, очистке данных. Учтите, что имя пакета почти никогда не совпадает с видимым названием приложения в меню: например, у Google Chrome пакет называется com.android.chrome.

Вывод бывает очень длинным — на типичном смартфоне установлены сотни пакетов, включая служебные компоненты системы. Поэтому на практике команду почти всегда комбинируют с флагами фильтрации.

📊 Для чего вы используете adb package list?
Поиск предустановленных приложений для удаления
Диагностика конфликтов и ошибок
Разработка и тестирование приложений
Просто изучаю возможности ADB

Полезные флаги и фильтры команды

Утилита pm (package manager) поддерживает набор модификаторов, сужающих вывод под конкретную задачу. Вот наиболее востребованные варианты:

  • 📱 adb shell pm list packages -s — только системные приложения, предустановленные производителем;
  • 🛒 adb shell pm list packages -3 — только сторонние приложения, установленные пользователем;
  • 🚫 adb shell pm list packages -d — отключённые (disabled) пакеты;
  • adb shell pm list packages -e — активные, включённые пакеты;
  • 📂 adb shell pm list packages -f — вывод с путём к APK-файлу каждого пакета;
  • 👤 adb shell pm list packages --user 0 — список для конкретного пользователя (актуально для многопользовательских устройств).

Флаги можно комбинировать. Например, adb shell pm list packages -d -s покажет отключённые системные приложения — удобно, чтобы проверить, что уже было деактивировано ранее.

Поиск конкретного приложения по названию

Когда нужно найти пакет одного конкретного приложения, вывод фильтруют через grep (Linux, macOS) или findstr (Windows):

adb shell pm list packages | grep facebook

Для командной строки Windows аналог выглядит так:

adb shell pm list packages | findstr facebook

Поиск работает по фрагменту имени пакета, регистр символов учитывается. Если приложение найдено, вы получите точное имя пакета, которое затем можно использовать в командах pm uninstall или pm disable-user. Если поиск ничего не вернул, попробуйте сократить запрос до одного слова или части названия бренда.

Как узнать пакет приложения без компьютера

На самом смартфоне имя пакета можно посмотреть в магазине Google Play — оно указано в URL страницы приложения после параметра id=. Также существуют сторонние утилиты категории App Inspector, показывающие имена пакетов прямо на устройстве.

Сводная таблица команд

Задача Команда
Все пакеты adb shell pm list packages
Только системные adb shell pm list packages -s
Только пользовательские adb shell pm list packages -3
Отключённые пакеты adb shell pm list packages -d
Поиск по имени adb shell pm list packages | grep имя

Что делать со списком дальше: отключение и удаление

Чаще всего список пакетов нужен для последующего удаления предустановленных приложений. Для пользовательских программ используется стандартная команда удаления:

adb shell pm uninstall имя.пакета

Системные приложения полностью удалить без root-прав обычно нельзя, но их можно убрать для текущего пользователя командой adb shell pm uninstall -k --user 0 имя.пакета либо просто отключить через adb shell pm disable-user --user 0 имя.пакета. В обоих случаях изменения обратимы: пакет возвращается командой pm install-existing или pm enable соответственно.

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

Типичные проблемы и их решения

Если команда возвращает ошибку device not found, проверьте кабель: часть кабелей поддерживает только зарядку и не передаёт данные. Также убедитесь, что отладка по USB включена и устройство отображается в выводе adb devices.

Ошибка more than one device появляется, когда к компьютеру подключено несколько Android-устройств или запущен эмулятор. В этом случае укажите целевое устройство явно: adb -s серийный_номер shell pm list packages.

Ещё одна ситуация — пустой или обрезанный вывод на некоторых оболочках. Возможная причина — ограничения производителя на ADB-команды. Проверьте, нет ли в настройках разработчика дополнительных переключателей вроде «Отладка по USB (настройки безопасности)», и при необходимости обратитесь к документации вашей модели.

⚠️ Внимание: не выполняйте команды ADB, скопированные из интернета, не понимая их назначения. Особенно это касается связок с pm uninstall и pm disable-user — сначала получите список пакетов и убедитесь, что удаляете именно то, что планировали.

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

Чем отличается pm list packages от cmd package list packages?

Обе команды выводят список пакетов, но pm — классический менеджер пакетов, доступный на всех версиях Android. Команда cmd package появилась в более новых версиях системы и постепенно вытесняет pm, однако синтаксис фильтров у них во многом совпадает.

Почему в списке нет приложения, которое точно установлено?

Возможные причины: приложение установлено для другого пользователя устройства (добавьте флаг --user 0 или проверьте рабочий профиль), либо вы ищете по видимому названию, а не по имени пакета. Попробуйте полный вывод без фильтров и поиск по фрагменту названия бренда.

Нужны ли root-права для просмотра списка пакетов?

Нет. Команда adb shell pm list packages работает на любых устройствах без root — достаточно включённой отладки по USB. Root требуется только для полного удаления системных приложений из раздела system.

Как вывести список пакетов в файл на компьютере?

Добавьте перенаправление вывода в конец команды: adb shell pm list packages > packages.txt. Файл сохранится в текущей рабочей папке терминала, откуда запускалась команда.

Можно ли восстановить приложение, удалённое через ADB?

Если пакет был удалён только для текущего пользователя командой с флагом --user 0, он возвращается через adb shell cmd package install-existing имя.пакета. Отключённые пакеты восстанавливаются командой pm enable. Полностью стёртые пользовательские приложения придётся устанавливать заново из магазина.