Odpowiedzi:
Titanium Backup itp. Wystarczy użyć wbudowanego, Package Manager (pm)aby zamrozić aplikację. pmma funkcję zapobiegającą uruchamianiu i pojawianiu się aplikacji w Launcherze. Aby z niego skorzystać, Titanium Backup itp. Wykonaj następujące polecenie:
pm wyłącz {nazwa_pakietu}
Możesz samodzielnie zamrozić aplikacje bez użycia dedykowanej aplikacji do zamrażania. Wystarczy użyć powyższego polecenia w emulatorze terminali lub ADB Shell.
Na przykład, jeśli chcesz zamrozić Stock Web Browser, otwórz Terminal Emulatori przełącz na rootowanie za pomocą supolecenia. Następnie wykonaj # pm disable com.android.browser.
Wróci #Package com.android.browser new state: disabled. Gotowy!
Uruchom ponownie program uruchamiający (niektóre urządzenia mogą wymagać ponownego uruchomienia), aby ikona zniknęła.
Rozmrażać aplikację, wystarczy zamienić disableze enablew poleceniu.
pm disablemówi tylko „zabity”, a następnie proces rozpoczyna się od razu. zabij -STOP pid jest lepszy. Możesz zobaczyć, które są zatrzymane na pswyjściu.
Odkryłem, jak pm disabledziała:
Jeśli uruchomisz cat /system/bin/pm, daje:
# 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 "$@"
Najwyraźniej jest to to samo, co program PackageManager, którego używamy z języka Java, wywołuje go - tylko w kontekście katalogu głównego, do którego żadna aplikacja użytkownika nie ma bezpośredniego dostępu.
Możesz sprawdzić, czy coś jest zamrożone, używając
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
W systemach Unix pliki mają 3 autoryzacje: odczyt, zapis i wykonanie.
(Dla 3 kategorii osób: właściciela pliku [zwykle jego twórcy], grupy osób i wszystkich innych, ale nie jest to objęte tematem).
Jeśli usuniesz autoryzację wykonania pliku, nie będzie już można go uruchomić (wykonać).