Vorinstallierte Apps auf Android deinstallieren (ohne Root)

Mi, 7. Juli 2021, Joël Schurter

Jeder kennt es, jeder hasst es: vorinstallierte Apps auf seinem Android-Smartphone - z.B. von Google und/oder einem anderen Hersteller wie Huawei.
Mit einem Trick mittels der Android Debugging Bridge (ADB) kann man diese Apps jedoch ganz einfach deinstallieren.

Als Erstes muss man das jeweilige Handy per USB an den PC/Laptop anschliessen und USB-Debugging aktivieren (wie das geht, wird hier erklärt). Nun können wir uns an ADB wagen, welches natürlich zuerst installiert werden muss.

Da wir im folgenden mehrere ADB-Befehle eintippen müssen, empfiehlt es sich, folgenden Befehl einzutippen, wodurch man dann direkt auf dem Handy "eingeloggt" ist:

adb shell

Nun muss man natürlich die eindeutigen Namen der Apps, die man deinstallieren möchte heraussuchen. Dies geht z.B. mit folgendem Befehl:

pm list packages

Je nach dem, wie viele Apps man installiert hat, ist die nun sichtbare Liste natürlich kürzer oder länger. Es empfiehlt sich nun, diese Liste durchzuschauen und Apps wie z.B. Google Drive etc. rauszuschreiben. Die App-Namen sind nicht immer ganz eindeutig, meistens erkennt man sie aber gut.

Sobald man sich dann alle Apps, die man nicht mehr möchte, auf eine separate Liste geschrieben hat, kann man diese einzeln mit dem folgenden Befehl deinstallieren:

pm uninstall --user 0 paketname

Nun sollte nach jedem Ausführen dieses Befehls ein "success" ausgegeben werden, wodurch die Deinstallation der jeweiligen App bestätigt wird. Diese Apps sollten nun auch nicht mehr auf dem Handy zu finden sein.

Mit diesem kleinen aber feinen Trick kann man, wenn man sein Handy weder rooten noch flashen will/kann, ein bisschen datenschutzfreundlicher machen. Alternativen zu vielen vorinstallierten Apps findet ihr in meiner 'Google Umsteiger Serie' (im Artikelindex danach suchen).

Die Auswahl der jeweiligen zu deinstallierenden Apps sollte natürlich mit grösstmöglicher Vorsicht getroffen werden. Einige Apps/Hintergrunddienste werden für einen ordnungsgemässen Betrieb des Smartphones benötigt, z.B. Bluetooth- und Kalenderdienste u.Ä. Die Deinstallation eines solchen Dienstes hat bei mir vor einiger Zeit dazu geführt, dass ich z.B. nicht mehr telefonieren konnte. Am besten entfernt man deswegen nur Apps, von denen man mit 100%iger Sicherheit weiss, dass man sie nicht benötigt - dies ist beispielsweise bei nahezu sämtlichen Vordergrund-Apps wie z.B. Chrome, Google Drive etc. der Fall. Hintergrunddienste sollte man - es sei denn man kennt sich da gut aus - nicht anfassen.

Ich übernehme selbstverständlich keine Verantwortung.

Nachtrag:

"Deinstallieren" ist eigentlich der falsche Ausdruck, die Apps werden lediglich für diesen User deinstalliert resp. deaktiviert. Die Apps können durch eine Neuinstallation über den Google Play Store oder auch mittels eines Werkresets wiederhergestellt werden. Die deaktivierten Apps können aber keine Daten mehr versenden, da sie für den aktuellen User als deinstalliert erscheinen - das System die Apps also sozusagen nicht mehr "kennt".

Maggoo
Geschrieben von Maggoo am 12. Juli 2021

Habe ich auch schon häufiger gemacht. Wünschenswert wäre eine Desktop app die das ansprechender und vereinfacht ermöglicht. Mit fdroidcl kombiniert und den möglichkeiten settings zu setzen es zur Modifikarion der capitativ webseite nötig ist.

user
Geschrieben von user am 8. Juli 2021

Ich schreibe mal ein paar Tipps auf, die ich gesammelt habe und dem ein oder anderen noch helfen könnten.

Man kann noch erwähnen, dass man bei Debian/Ubuntu die Pakete fastboot und adb installieren kann. Danach kann man mit ADB loslegen.

sudo apt install adb fastboot

Danach ein Terminal mit Benutzerrechte starten.
(zeigt an ob das Gerät erkannt wird und startet den Daemon)
adb devices
adb shell
(zeigt an, welche Nummer der Benutzer trägt (z.B. falls man mehrere angelegt hat)
adb pm list user
pm uninstall -k --user 0 [paketname]
oder
pm uninstall --user 0 [paketname]

Deinstalliert habe ich mit pm uninstall -k --user 0 [paketname]
-k steht laut adb --help '-k': keep the data and cache directories.
Muss jeder für sich überlegen, was besser ist, ob mit oder ohne -k

Die Pakete sind nur für den Benutzer entfernt, sie sind aber dennoch als .apk vorhanden und können wieder installiert werden.

Am einfachsten ist es, wenn man sich vorher eine Liste aller Benutzer-Apps in einer Textdatei ausgeben lässt. Das erspart einem auch das Suchen und man kann die APK ggf. schnell wiederherstellen.

adb shell pm list packages /home/DeinBenutzername/android1-packages.txt
oder direkt mit Pfad
adb shell
pm list packages -f /home/DeinBenutzername/android2-packages.txt

damit wird einem der Pfad der App in der shell angezeigt
adb shell
pm dump com.samsung.android.smartface | grep Path
das zeigt den APK-Namen an
ls -la /system/priv-app/smartfaceservice
damit installiert man die App wieder
pm install -r --user 0 /system/priv-app/smartfaceservice/smartfaceservice.apk

Was ich gerne noch wüsste, ob/falls die Apps unter root noch weiterlaufen sollten und kritische Bugs vorhanden sind, ob das dann auch Auswirkungen auf den Benutzer haben kann.

Außerdem scheint zumindest Samsung unter Android(in meinem Fall) auch den Nutzer hin und wieder mit unfreiwilligen APK-Installationen zu beglücken. Das finde ich etwas gruselig, wenn man plötzlich eine Remote-App vorfindet.

Als kleiner Tipp, die lokale VPN-Firewall Netguard hilft auch Datenabflüsse zu begrenzen.

user
Geschrieben von user am 9. Juli 2021

Ein paar kleine Fehler können noch enthalten sein.

Wie dieser "adb pm list user pm uninstall -k --user 0 [paketname]"

Das müsste so aussehen:
adb shell
pm list users
pm uninstall -k --user 0 [paketname]

Die Ausgabe von "pm list users" sieht dann so aus, die null ist dann falls mehrere Benutzer vorhanden sind anzupassen in dem Fall durch ein "10":

pm list users
Users:
UserInfo{0:Eigentümer:13} running
UserInfo{10:Neuer Nutzer:10} running

Mit einem "exit" kommt man aus der shell wieder raus.

Am besten derjenige, der die Befehle benutzt schaut noch mal kurz mit einer Suchmaschine nach. Ein Backup ist immer Pflicht.

Vielleicht kann jemand auch noch einen erweiterten Beitrag dazu/daraus machen. Im Kommentar ist das etwas unübersichtlich.

Joël Admin
Geschrieben von Joël am 9. Juli 2021

Danke für deine Korrektur. Wenn du das erlaubst, bastle ich daraus gerne noch einen eigenen Zusatz-Artikel.

user
Geschrieben von user am 9. Juli 2021

Klar, das kann gerne verwendet werden. Es ist dann besser und übersichtlicher für alle, die gerne etwas per ADB ändern wollen. Am besten ist es, wenn du die Befehle vorher mal durchschaust, damit alles richtig funktioniert und keine Fehler enthalten sind.

Ich habe beim Absenden des Beitrags wieder festgestellt, dass bestimmte Zeilen zusammengefügt werden. Ich kenne mich damit nicht richtig aus, aber es scheint, als ob da etwas mit dem Zeilenumbruch nicht richtig funktioniert.

Das folgende sollte so nicht aussehen, sondern ab "pm" in einer separaten Zeile untereinander erscheinen"adb shell pm list users pm uninstall".

Ich stehe ein wenig auf Kriegsfuß mit dem Kommentarfeld. ;)

Joël Admin
Geschrieben von Joël am 9. Juli 2021

Super, danke!
Ja, das mit dem Kommentarfeld ist so ne Sache...
Ist halt Markdown. Da muss man immer entweder eine Zeile leer lassen oder zwei Leerzeichen nach einem Satz machen.
Diesen Satz ändere ich noch.

user
Geschrieben von user am 8. Juli 2021

Kleine Ergänzung. Die Raute"#" hat dafür gesorgt, dass die Schrift so groß erscheint, das wusste ich vorher nicht. Kann man dies, wenn möglich noch bitte anpassen?

Die Abschnitte die jetzt groß erscheinen, sollten nur ein kleiner Zusatzkommentar sein. ;)

Joël Admin
Geschrieben von Joël am 8. Juli 2021

Klar, kann ich anpassen. In unserem Kommentarsystem wird Markdown verwendet, dadurch werden Texte mit der Rautetaste dahinter grösser geschrieben.

Joël Admin
Geschrieben von Joël am 8. Juli 2021

Danke für deine wertvollen Hinweise!

Markus
Geschrieben von Markus am 7. Juli 2021
Joël Admin
Geschrieben von Joël am 8. Juli 2021

Danke für deinen Hinweis!