Команда pm disable-user --user 0 имя_пакета через ADB отключает системное приложение на Android даже тогда, когда кнопка «Отключить» в настройках телефона недоступна или неактивна. Это стандартный способ заморозить предустановленные сервисы, рекламные модули и ненужные фирменные оболочки без получения root-прав.
Ниже разберём подготовку устройства, точный синтаксис команд, способы узнать имя пакета и порядок восстановления, если отключённый компонент оказался нужен системе. Инструкция применима к большинству смартфонов на Android, однако состав предустановленных пакетов у разных производителей отличается.
Что даёт отключение приложения через ADB
Отключение через ADB (Android Debug Bridge) — это не удаление. Пакет остаётся в системном разделе, но перестаёт запускаться, не появляется в меню приложений и не потребляет ресурсы. Для текущего пользователя программа фактически «замораживается».
Такой подход выбирают в нескольких ситуациях:
- 🧊 кнопка «Отключить» в настройках приложения неактивна, а удалить его обычным способом нельзя;
- 🔋 фоновый процесс расходует заряд батареи или трафик, и его нужно остановить;
- 🛡️ требуется отключить встроенный рекламный или аналитический модуль прошивки;
- 🧪 нужно временно заморозить приложение для диагностики конфликтов.
Отличие от удаления важно понимать заранее: при disable-user пакет легко вернуть одной командой, а при удалении через pm uninstall --user 0 восстановление сложнее. Поэтому отключение — более безопасный первый шаг.
Подготовка: включение отладки по USB и установка ADB
Перед работой с командами необходимо активировать отладку по USB на смартфоне. Для этого откройте настройки, найдите раздел «О телефоне» и несколько раз нажмите на пункт «Номер сборки», пока не появится сообщение о включении режима разработчика. Точное название пункта зависит от оболочки — на Xiaomi это может быть «Версия MIUI», на других устройствах формулировки отличаются.
Затем в появившемся меню «Для разработчиков» включите переключатель «Отладка по USB». Расположение этого меню тоже различается у разных производителей, поэтому при необходимости сверьтесь с документацией вашей модели.
На компьютере потребуется пакет platform-tools — официальный инструмент Google, включающий исполняемый файл ADB. Распакуйте архив в отдельную папку и подключите смартфон кабелем. На экране телефона появится запрос на разрешение отладки — подтвердите его.
☑️ Подготовка к отключению приложения
Проверка подключения устройства
Прежде чем вводить команды отключения, убедитесь, что компьютер видит смартфон. В командной строке из папки platform-tools выполните:
adb devices
В ответ должна появиться строка с серийным номером устройства и статусом device. Если статус unauthorized — на телефоне не подтверждён запрос на отладку, проверьте экран. Если список пуст, возможная причина — кабель без линий данных, неустановленные драйверы или выключенная отладка.
⚠️ Внимание: используйте кабель, поддерживающий передачу данных. Некоторые кабели от зарядных устройств передают только питание, и ADB через них работать не будет.
Как узнать имя пакета приложения
Команды ADB работают не с отображаемым названием программы, а с её именем пакета — например, com.example.app. Узнать его можно несколькими способами.
Самый универсальный — вывести список всех установленных пакетов и найти нужный по фрагменту названия:
adb shell pm list packages
Для поиска по ключевому слову в Windows удобно фильтровать вывод:
adb shell pm list packages | findstr "browser"
Также существуют приложения-инспекторы пакетов из магазина приложений, которые показывают имя пакета любой установленной программы прямо на телефоне. Это удобно, если работать с командной строкой не хочется.
Основная команда отключения приложения
Когда имя пакета известно, отключение выполняется одной командой:
adb shell pm disable-user --user 0 com.example.app
Здесь --user 0 указывает основного пользователя устройства. После успешного выполнения в терминале появится сообщение о том, что пакет переведён в состояние disabled-user, а иконка приложения исчезнет из меню.
Альтернативный вариант — команда adb shell pm disable com.example.app, но она на многих устройствах требует повышенных привилегий и без root может вернуть ошибку. Вариант с disable-user работает на стандартных прошивках без root-доступа.
Что может произойти после отключения:
- 📱 приложение исчезает из списка программ и перестаёт работать в фоне;
- 🔗 связанные функции (например, виджеты или пункты системных меню) могут перестать отображаться;
- ⚙️ при перезагрузке отключённое состояние сохраняется.
Какие приложения не стоит отключать
Не каждый системный пакет безопасно замораживать. Отключение критичных компонентов способно нарушить работу устройства — от пропавших уведомлений до невозможности загрузки системы. Точный список безопасных пакетов зависит от прошивки конкретной модели, поэтому универсального перечня не существует.
Ориентируйтесь на осторожный принцип: если назначение пакета неизвестно, сначала найдите информацию о нём применительно к вашей модели устройства. Название пакета часто не отражает его реальной роли в системе.
| Тип пакета | Пример риска | Рекомендация |
|---|---|---|
| Магазины, игры, фирменные утилиты | Минимальный | Обычно можно отключать |
| Приложения оболочки (галерея, музыка) | Пропадёт привычная функция | Отключать при наличии замены |
| Сервисы синхронизации и аккаунта | Сбой входа в учётную запись | Отключать с осторожностью |
| Системные службы (systemui, framework) | Нестабильность или незагрузка системы | Не отключать |
⚠️ Внимание: никогда не отключайте пакеты, в назначении которых вы не уверены. Отключение компонентов вроде системного интерфейса или служб телефонии может привести к циклической перезагрузке, и восстановление потребует сброса настроек.
Что делать, если после отключения телефон работает некорректно
Подключите устройство к компьютеру и выполните adb shell pm enable имя_пакета — в большинстве случаев ADB остаётся доступен даже при сбоях интерфейса. Если устройство не загружается, попробуйте безопасный режим (порядок входа зависит от модели) или сброс настроек через recovery.
Как вернуть отключённое приложение
Восстановление выполняется обратной командой:
adb shell pm enable com.example.app
После выполнения приложение снова появится в меню и заработает в обычном режиме. Данные программы при отключении через disable-user обычно сохраняются, так как пакет не удалялся из системы.
Если вы забыли, какие пакеты отключали ранее, выведите их список:
adb shell pm list packages -d
Параметр -d показывает только отключённые приложения — удобно для аудита перед сбросом настроек или продажей устройства.
Типичные ошибки и их решение
Чаще всего пользователи сталкиваются с сообщением SecurityException или отказом в выполнении команды. Возможные причины: пакет защищён прошивкой от отключения, либо команда введена без корректного указания пользователя. Проверьте синтаксис и попробуйте вариант с --user 0.
Ошибка «package not found» означает, что имя пакета указано неверно. Перепроверьте его через pm list packages — возможно, приложение имеет другое системное имя, чем отображаемое название.
Если ADB вообще не видит устройство, последовательно проверьте: включена ли отладка по USB, подтверждён ли запрос на экране телефона, работает ли кабель и установлены ли драйверы на компьютере. В Windows при проблемах с определением устройства помогает установка драйвера от производителя смартфона.
⚠️ Внимание: после крупного обновления прошивки отключённые ранее системные пакеты иногда включаются обратно. Проверяйте список отключённых приложений после обновлений системы.
Часто задаваемые вопросы
Нужен ли root для отключения приложений через ADB?
Нет, команда pm disable-user --user 0 работает на стандартных прошивках без root-прав. Root требуется только для полного удаления системных пакетов из раздела системы.
Отключение приложения удалит мои данные?
При использовании disable-user пакет не удаляется, и его данные, как правило, сохраняются. Однако для важных приложений перед экспериментами разумно сделать резервную копию.
Можно ли отключить приложение без компьютера?
Стандартные настройки Android позволяют отключать часть приложений без ADB: откройте сведения о приложении и нажмите «Отключить», если кнопка активна. ADB нужен именно тогда, когда эта кнопка недоступна.
Чем отключение отличается от удаления через pm uninstall?
Команда pm uninstall --user 0 удаляет пакет для текущего пользователя, и восстановить его сложнее — иногда требуется сброс настроек. Отключение через disable-user полностью обратимо одной командой pm enable.
Сбросятся ли отключённые приложения после перезагрузки?
Нет, состояние отключения сохраняется после перезагрузки. Оно может сброситься только после полного сброса настроек или, в отдельных случаях, после крупного обновления прошивки.