Ваш Android не должен иметь root-доступ для действительно отключения приложения, если у вас версия 4.4.x или выше. Все, что тебе нужноADBнастройка в ПК и отладка по USB включена в устройстве без рута или в приложении эмулятора терминала для рутированного устройства (вы также можете использовать adb).
Если вы проверите использование Package Manger ( pm
), вы увидите
Блок pm [--user USER_ID] PACKAGE_OR_COMPONENT ")
вечера разблокировать [--user USER_ID] PACKAGE_OR_COMPONENT ")
Для Lollipop это было бы
pm скрыть [--user USER_ID] PACKAGE_OR_COMPONENT ")
pm показать [--user USER_ID] PACKAGE_OR_COMPONENT ")
Чтобы заблокировать или скрыть пакет (это безопасно), просто выполните
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
Чтобы разблокировать или показать пакет, выполните
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→ название пакета приложения. Чтобы узнать имя пакета приложения:
Добавить adb shell
перед самой командой, чтобы выполнить их с ПК.
Функция скрытия имеет следующий комментарий внутри исходного кода
Переводит пакет в скрытое состояние, которое почти похоже на деинсталлированное состояние, делая пакет недоступным, но не удаляет данные или сам файл пакета. Приложение может быть скрыто либо путем сброса скрытого состояния, либо путем его установки
Подобное комментирование сделано для блока здесь .
Для того , чтобы проверить претензии, вы можете использовать некоторые системные службы , такие как meminfo
, procstats
и с activity
помощью dumpsys инструмента или даже перечислить все процессы , используя ps
. Вы не найдете активного присутствия заблокированного / скрытого приложения.
То же самое относится ко многим системным приложениям, отключенным с помощью графического интерфейса или pm disable
не для каждого приложения, поскольку даже отключенное приложение может получать трансляции, для которых оно зарегистрировано, что может быть сделано только в том случае, если оно загружено в память 1 . Тем не менее, отключенное приложение не может действовать само по себе, как и любое другое приложение.
Я обсуждал некоторые различия между скрытием / блокировкой и отключением в моем вопросе « pm hide против PM pm» - кризис идентификации . Он предоставляет только дополнительную информацию к этому ответу, поэтому вы можете пропустить его.
РЕДАКТИРОВАТЬ:
Похоже, что эта техника не работает для всех приложений на Android KitKat. В этом случае просто отмените разрешение на чтение из APK приложения или удалите расширение .APK из имени файла приложения (последнее предложено Jaskaranbir один раз), после чего выполните мягкую / полную перезагрузку. Это то же самое, что удаление приложения из системы, с той лишь разницей, что все файлы останутся на своем месте.
Оба шага могут быть выполнены с использованием любого приложения для управления корневыми файлами. Способ командной строки:
adb shell su -c 'chmod 000 /data/app/PACKAGE*' # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE' # doing renaming by moving the file
adb reboot
1: Отсутствие технических доказательств, подтверждающих факт