Ответы:
Titanium Backup и т. Д. Просто используйте встроенный, Package Manager (pm)
чтобы заморозить приложение. pm
имеет функцию предотвращения запуска приложений и их появления в Launcher. Чтобы использовать его, Titanium Backup и т. Д. Выполните следующую команду:
вечера отключить {имя_пакета}
Вы можете заморозить приложения самостоятельно, не используя специальное морозильное приложение. Просто используйте приведенную выше команду в Terminal Emulator или ADB Shell
.
Например, если вы хотите заморозить Stock Web Browser
, откройте Terminal Emulator
и переключитесь на root с помощью su
команды. Затем выполните # pm disable com.android.browser
.
Это вернется #Package com.android.browser new state: disabled
. Выполнено!
Перезагрузите Launcher (для некоторых устройств может потребоваться перезагрузка), чтобы значок приложения исчез.
Для размораживания приложения, просто замените disable
с enable
в команде.
pm disable
только говорит «убит», тогда процесс запускается снова немедленно. убить -STOP пид лучше. Вы можете увидеть, какие из них остановлены, на ps
выходе.
Я нашел, как pm disable
работает:
Если вы запускаете cat /system/bin/pm
, это дает:
# Script to start "pm" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
Очевидно, что он такой же, как PackageManager, который мы используем из Java, он вызывает его - просто в корневом контексте, к которому ни одно пользовательское приложение не может получить прямой доступ.
Вы можете проверить, если что-то заморожено, используя
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
В системах Unix файлы имеют 3 авторизации: чтение, запись и выполнение.
(Для 3 категорий людей: владелец файла [обычно его создатель], группа людей и все остальные, но это вне темы).
Если вы удалите авторизацию на выполнение файла, он больше не может быть запущен (выполнен).