Команда adb shell pm uninstall --user 0 имя.пакета — это основной способ удалить приложение через ADB, когда кнопка «Удалить» в настройках Android недоступна: так происходит с предустановленными системными программами, фирменными оболочками и встроенными сервисами производителя. Метод работает без root-прав, но требует включённой отладки по USB и установленного пакета SDK Platform Tools на компьютере.
В этой инструкции разберём подготовку устройства, синтаксис команд, отличие удаления от отключения и способы откатить изменения, если после удаления что-то пошло не так. Команды приведены в общем виде — конкретные имена пакетов на вашем устройстве нужно проверять отдельно, об этом ниже.
Что нужно знать перед удалением через ADB
Android различает обычные пользовательские приложения и системные. Первые удаляются штатно через настройки. Вторые защищены: без root-прав полностью стереть их из раздела /system нельзя, но можно удалить их для текущего пользователя — именно так работает флаг --user 0.
Физически файлы остаются в системном разделе, но приложение перестаёт запускаться, исчезает из меню и не потребляет ресурсы. После сброса устройства до заводских настроек такие приложения возвращаются — это нормальное поведение, а не ошибка.
⚠️ Внимание: удаление некоторых системных компонентов (например, служб оболочки, мастера настройки или системного лаунчера) может привести к неработоспособности устройства вплоть до загрузочного цикла. Перед удалением пакета убедитесь, что понимаете его назначение.
Подготовка: отладка по USB и Platform Tools
Сначала на смартфоне активируется режим разработчика. Обычно для этого нужно открыть раздел «О телефоне» и несколько раз нажать на пункт «Номер сборки», пока не появится подтверждение. Точный путь зависит от оболочки — у Xiaomi, Samsung и «чистого» Android он отличается, поэтому сверьтесь с документацией своей модели.
Затем в появившемся меню «Для разработчиков» включается отладка по USB. На компьютер потребуется скачать архив SDK Platform Tools с официального сайта Android Developers и распаковать его в удобную папку.
☑️ Подготовка к удалению через ADB
Проверка подключения устройства
Подключите смартфон кабелем к ПК, откройте командную строку в папке с Platform Tools и выполните:
adb devices
При первом подключении на экране телефона появится запрос на разрешение отладки — подтвердите его, при желании отметив «Всегда разрешать с этого компьютера». Если команда выводит серийный номер со статусом device, связь установлена.
Статус unauthorized означает, что запрос на телефоне не подтверждён. Пустой список чаще всего указывает на проблему с кабелем, портом или драйверами — на Windows иногда требуется установить USB-драйвер производителя устройства.
Как узнать имя пакета приложения
Удаление выполняется не по названию из меню, а по имени пакета — например, com.example.app. Чтобы получить список всех установленных пакетов, выполните:
adb shell pm list packages
Вывод будет длинным, поэтому удобно фильтровать его по ключевому слову. На Windows используется findstr, на Linux и macOS — grep:
adb shell pm list packages | findstr browser
- 🔍 Фильтруйте по части названия:
music,video,game. - 📦 Сторонние приложения можно вывести отдельно флагом
-3. - 🛡️ Системные пакеты выводятся флагом
-s. - 🚫 Отключённые приложения покажет флаг
-d.
Команды удаления и отключения приложений
Основная команда удаления для текущего пользователя выглядит так:
adb shell pm uninstall --user 0 имя.пакета
Успешный результат подтверждается ответом Success. Если вместо удаления достаточно просто отключить приложение (более безопасный и легко обратимый вариант), используйте:
adb shell pm disable-user --user 0 имя.пакета
| Команда | Действие | Обратимость |
|---|---|---|
pm uninstall --user 0 | Удаление для текущего пользователя | Через cmd package install-existing |
pm disable-user --user 0 | Отключение без удаления | Через pm enable |
pm enable | Повторное включение пакета | — |
cmd package install-existing | Восстановление удалённого системного пакета | — |
Разница принципиальна: отключение сохраняет данные и откатывается одной командой, а удаление очищает данные приложения. Для незнакомых системных пакетов разумнее начать с disable-user, проверить стабильность работы устройства пару дней и только потом удалять окончательно.
Восстановление удалённого приложения
Если после удаления перестала работать нужная функция, пакет можно вернуть без сброса устройства:
adb shell cmd package install-existing имя.пакета
Команда сработает только для системных приложений, которые физически остались в разделе /system. Сторонний пакет, установленный из магазина, так восстановить нельзя — его придётся ставить заново из Google Play или из APK-файла.
Крайний вариант — сброс до заводских настроек возвращает все предустановленные приложения, удалённые через --user 0, но стирает и пользовательские данные. Делайте резервную копию заранее.
⚠️ Внимание: перед массовой чисткой системных приложений запишите список удаляемых пакетов в текстовый файл. Если что-то пойдёт не так, вы сможете быстро восстановить нужные компоненты по списку, не вспоминая имена по памяти.
Типичные ошибки и их решение
Ответ Failure [DELETE_FAILED_INTERNAL_ERROR] или подобный обычно означает, что пакет защищён: это критический системный компонент или приложение с правами администратора устройства. Во втором случае сначала снимите права администратора в настройках безопасности, затем повторите команду.
- ❌
error: no devices found— проверьте кабель, отладку по USB и авторизацию. - ❌
Failure [not installed for user 0]— пакет уже удалён или имя указано с ошибкой. - ❌ Команда выполняется, но приложение остаётся — возможно, оно установлено для другого пользователя или в рабочем профиле.
Что делать с приложениями-администраторами устройства
Откройте настройки безопасности и найдите раздел «Администраторы устройства» (название может отличаться в зависимости от оболочки). Снимите флажок с нужного приложения, подтвердите действие, затем повторите команду pm uninstall.
FAQ: частые вопросы
Нужны ли root-права для удаления приложений через ADB?
Нет. Команды pm uninstall --user 0 и pm disable-user работают без root. Root потребуется только для физического удаления файлов из системного раздела, что без крайней необходимости делать не стоит.
Обновится ли удалённое системное приложение через Google Play?
Если пакет удалён для пользователя, магазин может предложить установить его заново как обычное обновление. После установки приложение вернётся в список, но уже как пользовательская копия поверх системной.
Безопасно ли удалять предустановленные приложения производителя?
Зависит от конкретного пакета. Клиенты магазинов, игры и дублирующие галереи обычно удаляются без последствий. Службы оболочки, мастер настройки, системный лаунчер и компоненты телефонии трогать не следует — их удаление способно нарушить работу устройства. Если назначение пакета неизвестно, сначала отключите его и понаблюдайте за системой.
Чем отличается удаление через ADB от «заморозки» сторонними утилитами?
Большинство таких утилит под капотом вызывают те же команды pm disable-user или pm uninstall --user 0. Разница лишь в интерфейсе: графическая оболочка удобнее для массовых операций, но прямая работа через ADB прозрачнее — вы видите каждую команду и её результат.
Вернётся ли приложение после обновления прошивки?
Крупные обновления системы иногда переустанавливают предустановленные пакеты. Это зависит от производителя и конкретного обновления, гарантий нет. Если после апдейта удалённое приложение появилось снова, повторите процедуру.