Да. Команда есть pm disable <package name>
. Вы должны быть пользователем root, чтобы сделать это:
Откройте оболочку и получите root:
PC> adb shell
shell@hammerhead:/ $ su
Список всех включенных приложений, фильтр по «калькулятору»:
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
Отключить приложение:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
Список всех отключенных приложений:
root@hammerhead:/ # pm list packages -d
package:com.android.calculator2
package:com.google.android.apps.inputmethod.hindi
package:jp.co.omronsoft.iwnnime.ml
package:com.google.android.inputmethod.pinyin
package:com.google.android.inputmethod.korean
package:com.google.earth
root@hammerhead:/ #
Некоторые другие вещи стоит отметить:
- В моем тестировании приложения, отключенные таким образом, полностью исчезают из списка «Настройки»> «Приложения». Они даже не отображаются на вкладке «Отключено»
- Вы можете повторно включить приложения с помощью
pm enable <package name>
. На самом деле, по моему опыту , это единственный способ восстановить их.
Manifest
или тому подобное (я не Android-разработчик, поэтому я не могу сказать).В дополнение к ответу @eldarerathis, вы можете отключить приложение для конкретного пользователя. Я использовал этот метод для удаления некоторых приложений от пользователя с ограниченными правами, которые не были перечислены на экране настроек пользователя. Все команды от
adb shell
. Корневой доступ необходим для внесения изменений.Во-первых, получите идентификатор пользователя:
затем
Чтобы снова включить
В этом примере Алиса может использовать файловый менеджер, а Боб - нет.
Вы можете сделать аналогичную вещь с
hide
вместоdisable
. Я не уверен, что лучше, но посмотри на этот ответ . Обратныйhide
ISunhide
(перезагрузка может потребоваться для эффектаunhide
).Вы можете перечислить пакеты с
pm list pacakges --user 11
. Дайте-e
список включенных пакетов или-d
если вы хотите увидеть отключенные. Казалось бы, нет фильтра для скрытых пакетов.Я попробовал вышеописанное на Lollipop с CM 12.1 на Amazon Fire (KFFOWI).
источник
Это должно работать независимо от того, является ли приложение системным или сторонним приложением (установленным пользователем).
См. Мой ответ в разделе Определение имени пакета вашего приложения, чтобы получить имя пакета соответствующего приложения, и используйте оболочку adb для выполнения этих команд ( требуется root-доступ ):
PACKAGE
ссылается на название пакета приложенияЧтобы восстановить приложение, замените отключение на enable , скрытие на unhide и приостановите с unsuspend в указанной команде и выполните его с привилегией root.
Если у вас Android KitKat или выше и у вас нет root-прав , используйте adb на ПК для выполнения этой команды:
Чтобы восстановить приложение:
Изменения произошли бы немедленно.
источник