Ihr Android muss keinen Root-Zugriff haben, um eine App wirklich zu deaktivieren, wenn Sie Version 4.4.x oder höher haben. Sie benötigen lediglich ein ADB- Setup auf dem PC und ein USB-Debugging, das auf einem nicht gerooteten Gerät aktiviert ist , oder eine Terminalemulator-App für ein gerootetes Gerät (Sie können auch ADB verwenden).
Wenn Sie die Verwendung von Package Manager ( pm
) überprüfen , wird dies angezeigt
pm block [--user USER_ID] PACKAGE_OR_COMPONENT ")
pm entsperren [--user USER_ID] PACKAGE_OR_COMPONENT ")
Für Lollipop wäre es das
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT ")
pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT ")
Um ein Paket zu blockieren oder auszublenden (es ist sicher), tun Sie es einfach
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
Führen Sie folgende Schritte aus, um das Paket zu entsperren oder wieder einzublenden
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→ Paketname einer App. So kennen Sie den Paketnamen einer App:
adb shell
Vor dem Befehl anhängen , um sie vom PC aus auszuführen.
Die Funktion hinter hide enthält den folgenden Kommentar im Quellcode
Versetzt das Paket in einen verborgenen Zustand, der fast wie ein deinstallierter Zustand ist, wodurch das Paket nicht verfügbar ist, aber weder die Daten noch die eigentliche Paketdatei entfernt werden. Die Anwendung kann ausgeblendet werden, indem entweder der ausgeblendete Status zurückgesetzt oder installiert wird
Ähnliches Kommentieren wird hier für Block gemacht .
Um den Anspruch zu überprüfen, können Sie einige Systemdienste wie verwenden meminfo
, procstats
und activity
mit dem dumpsys Werkzeug oder auch mit allen , die Prozesse auflisten ps
. Sie werden keine aktive Präsenz der blockierten / versteckten App finden.
Das Gleiche gilt für viele System-Apps, die über die GUI deaktiviert wurden, oder pm disable
nicht für jede App, da selbst eine deaktivierte App Broadcasts empfangen kann, für die sie sich registriert hat. Dies ist nur möglich, wenn sie in den Speicher geladen wird 1 . Trotzdem kann eine deaktivierte App nicht alleine agieren und auch nicht von einer anderen App ausgeführt werden.
Ich habe einige der Unterschiede zwischen Verstecken / Blockieren und Deaktivieren in meiner Frage pm hide VS pm disable - die Identitätskrise - diskutiert . Es enthält nur zusätzliche Informationen zu dieser Antwort, sodass Sie sie überspringen können.
BEARBEITEN:
Es scheint, dass die Technik nicht für alle Apps auf Android KitKat funktioniert. In diesem Fall widerrufen Sie einfach die Leseberechtigung aus dem APK der App oder entfernen Sie die Erweiterung .APK aus dem Dateinamen der App (letzterer von Jaskaranbir einmal vorgeschlagen), gefolgt von einem Soft / Full-Neustart. Dies entspricht dem Löschen einer App aus dem System, mit dem Unterschied, dass alle Dateien an ihrem Speicherort verbleiben.
Beide Schritte können mit jeder Root-Dateimanager-App ausgeführt werden. Die Befehlszeile lautet:
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: Fehlende technische Beweise, um die Tatsache zu stützen