Введение
Android Debug Bridge (ADB) — это мощный инструмент командной строки для управления устройством Android с компьютера. Одно из его ключевых применений — удаление приложений напрямую, без необходимости взаимодействия с интерфейсом устройства. Это особенно полезно для:
- Очистки устройства от ненужных или рекламных приложений (debloating).
- Удаления системных приложений, которые нельзя удалить обычным способом.
- Автоматизации процессов развертывания и тестирования.
В этом гайде вы узнаете, как безопасно и эффективно удалять как пользовательские, так и системные приложения через ADB.
Требования и подготовка
Перед началом убедитесь, что выполнены следующие условия:
- На устройстве Android:
- Включена опция разработчика (для этого нажмите «Сборка» в «Сведения о телефоне» 7 раз).
- Включена отладка по USB в настройках разработчика.
- Устройство подключено к компьютеру через USB (рекомендуется оригинальный кабель).
- На экране появится запрос на разрешение отладки — подтвердите её.
- На компьютере:
- Установлен ADB (входит в состав Android SDK Platform-Tools или можно установить отдельно).
- Для Windows: добавьте путь к
adb.exeв переменную окруженияPATHили используйте полный путь. - Для Linux/macOS: установите пакет
android-tools-adbчерез менеджер пакетов.
- Проверьте подключение:
Откройте терминал (командную строку) и выполните:
adb devices
В списке должно отобразиться ваше устройство с статусомdevice. Если статусunauthorized, проверьте подтверждение на телефоне.
Удаление приложений через ADB
Шаг 1: Определение имени пакета приложения
Каждое приложение на Android имеет уникальное имя пакета (например, com.spotify.music). Чтобы его найти:
- Просмотр всех установленных пакетов:
adb shell pm list packages
Команда выведет список в форматеpackage:имя_пакета. - Фильтрация по названию (опционально):
adb shell pm list packages | grep -i "chrome"
Заменитеchromeна часть названия приложения. На Linux/macOS используйтеgrep, на Windows —findstr. - Альтернативный способ — через
dumpsys:adb shell dumpsys package | grep -i "package:"
Этот метод даёт более подробную информацию, но список длиннее.
Важно: Для системных приложений имя пакета может отличаться от видимого названия. Например, системный браузер часто имеет имя com.android.browser.
Шаг 2: Удаление пользовательских приложений
Если приложение установлено пользователем (не системное), используйте простую команду:
adb uninstall <имя_пакета>
Пример:
adb uninstall com.spotify.music
Что происходит:
- ADB отправляет запрос на удаление пакета.
- Приложение и все его данные полностью удаляются.
- В выводе появится
Successпри успехе илиFailure [DELETE_FAILED_INTERNAL_ERROR]при ошибке.
Шаг 3: Удаление системных приложений
Системные приложения (pre-installed) обычно защищены от обычного удаления. Есть два основных подхода:
3.1. Отключение приложения для текущего пользователя (без root)
Эта команда не удаляет приложение физически, но отключает его для активного пользователя (пользователя 0), что эквивалентно «удалению» из интерфейса:
adb shell pm uninstall --user 0 <имя_пакета>
Пример:
adb shell pm uninstall --user 0 com.android.browser
Примечание: После перезагрузки или сброса к заводским настройкам отключённые приложения могут снова появиться.
3.2. Полное удаление с правами root
Если у вас есть root-доступ на устройстве, можно удалить системное приложение навсегда:
adb shell su -c pm uninstall <имя_пакета>
Или, если su уже в shell:
adb shell
su
pm uninstall <имя_пакета>
⚠️ Осторожно: Удаление системных приложений может привести к нестабильной работе системы. Перед удалением убедитесь, что приложение не является критическим (например, com.android.systemui).
Шаг 4: Проверка результата
После удаления убедитесь, что пакет больше не в списке:
adb shell pm list packages | grep -i "<часть_имени_пакета>"
Если приложение было отключено (через --user 0), проверьте статус:
adb shell pm list packages -d | grep -i "<имя_пакета>"
Флаг -d показывает отключённые пакеты.
Также можно перезагрузить устройство и проверить, не появилось ли приложение снова:
adb reboot
Возможные проблемы и решения
Ошибка: Failure [DELETE_FAILED_INTERNAL_ERROR]
Причина: Попытка удалить системное приложение без использования --user 0 или без root.
Решение:
- Для отключения используйте
adb shell pm uninstall --user 0 <пакет>. - Если нужно полное удаление — получите root.
Ошибка: Failure [DELETE_FAILED_DEVICE_POLICY_MANAGER]
Причина: Устройство управляется политиками (например, рабочее устройство), которые запрещают удаление.
Решение: Удаление невозможно без отключения политик. Обратитесь к администратору устройства.
Устройство не отображается в adb devices
Причина: Драйверы (Windows), отсутствие разрешения отладки, неверный кабель.
Решение:
- Переподключите USB-кабель, выберите режим «Передача файлов» (MTP).
- Перезапустите ADB-сервер:
adb kill-server adb start-server - Установите драйверы (для Windows — с сайта производителя устройства или через Google USB Driver).
Удалённое приложение восстановилось после перезагрузки
Причина: Вы отключили приложение для текущего пользователя (--user 0), но не удалили его физически. При сбросе или обновлении системы оно вернётся.
Решение:
- Для постоянного удаления нужен root.
- Или используйте специальные утилиты для debloating (например,
adb shell pm hideна Android 10+).
Не удаётся найти имя пакета
Причина: Приложение может иметь другое имя, чем видимое в интерфейсе.
Решение:
- Используйте
adb shell pm list packages -3для вывода только пользовательских приложений. - Или установите приложение App Inspector из Play Маркета и посмотрите имя пакета в его интерфейсе.
Ошибка доступа (Permission denied)
Причина: Команда выполняется без прав администратора/суперпользователя.
Решение:
- На Windows: запустите командную строку от имени администратора.
- На Linux/macOS: используйте
sudoпередadb(если требуется). - Для системных команд (
pm uninstall) без--user 0илиsuнужен root.
Заключение (не добавляем как отдельную секцию, но можем завершить текст)
Теперь вы знаете, как удалять приложения на Android через ADB. Этот метод даёт полный контроль над устройством, но требует внимательности — особенно при работе с системными компонентами. Всегда проверяйте имя пакета и помните о последствиях удаления системных приложений. Для регулярного debloating рассмотрите использование скриптов или специализированных инструментов, но базовые команды ADB остаются универсальным решением.