Odpowiedzi:
Titanium Backup itp. Wystarczy użyć wbudowanego, Package Manager (pm)
aby zamrozić aplikację. pm
ma 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 Emulator
i przełącz na rootowanie za pomocą su
polecenia. 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ć disable
ze enable
w poleceniu.
pm disable
mówi tylko „zabity”, a następnie proces rozpoczyna się od razu. zabij -STOP pid jest lepszy. Możesz zobaczyć, które są zatrzymane na ps
wyjściu.
Odkryłem, jak pm disable
dział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ć).