Android: Systemapps ohne Root entfernen

Aktualisiert am 29.2.2024, neuere Package-Namen für Standard-Browser!

Gleich vorab:

Ich liefere hier nur eine Kurzbeschreibung des Verfahrens. Wer sich nicht schon mal mit so etwas befasst hat, sollte bitte unbedingt die beiden Quellen ganz unten lesen und viel Sorgfalt walten lassen!


Mit wenigen Ausnahmen sind auf jedem Android-Smartphone beim Kauf mehr oder weniger viele Apps installiert, die wir nicht brauchen: Reisebuchungen, Spiele oder Shops. Die nehmen Platz weg (auch wenn heutzutage genug davon vorhanden ist), lassen sich aber oft nicht einfach so löschen. Allerdings gibt es auch einige Apps, deren Sinn wir nicht unbedingt verstehen und die wir nicht nutzen, die aber dennoch für das System wichtig sind: Google-Tools, Sicherheit oder Dateimanager.

Wenn wir also scheinbar unwichtige Apps entfernen wollen, müssen wir uns im Klaren sein, was genau die tun. Zum Beispiel brauche ich unbedingt den Google-Kalender, denn der liefert die eigentliche Schnittstelle zu beliebigen anderen Kalender-Programmen, die ich nutzen möchte – bei mir (Xiaomi Redmi Note 9 mit MIUI 13) ist es sogar so, dass ich nur dort den Signalton für Termine einstellen kann, weil das eine „Ausnahmegenehmigung“ des Systems braucht.

Ich habe vor einiger Zeit den Browser „Google Chrome“ entfernt, weil der einige hundert MB Platz brauchte und sehr häufig aktualisiert wurde, was wiederum Zeit, manchmal Datenvolumen und noch mehr Platzbedarf benötigte. Dabei sollte gleich noch mit der Standardbrowser von Android verschwinden, der uralt war und nicht mehr gepflegt wurde. In früheren Android-Versionen konnte man manche vorinstallierten Apps deaktivieren – in neueren Versionen geht das vielleicht nicht mehr. Mit Bordmitteln kommt man also nicht weiter.

Wer nicht so „gern“ wie ich ohne Netz und doppelten Boden arbeitet, sollte sich vor den folgenden Aktionen unbedingt mit einem vollständigen Backup seines Smartphones befassen. Gute Anhaltspunkte dafür liefert diese guten Artikel [1], [2] und [3].

Was man braucht, ist

1) der Entwicklermodus auf dem Handy,
2) die ADB-Tools auf einem PC (Windows oder Linux, sicher auch Mac)
3) ein USB-Kabel, um das Smartphone mit dem PC verbinden zu können

Wichtig ist, dass das Smartphone in den Entwicklermodus geschaltet wird und dort „Installieren über USB“ und „USB-Debugging“ aktivuiert wird. Wie man dorthin kommt, ist geräteabhängig!

Der umfangreiche Artikel [1] beschreibt die Schritte zur Vorbereitung sehr detailliert – ich spare mir das jetzt hier. Auf dem PC öffne ich eine Shell (bei Windows z.B. die Powershell) und kann mir dann die spezielle Kommandoumgebung der ADB-Tools aufrufen:

adb shell

Man bekommt dann ein spezielles Prompt wie etwa „starlte:/ $“, nach dem man Kommandos eingaben kann. Mit dem Befehl list bekomme ich eine Liste der sogenannten Packages, also der installierten Apps – deren genaue Bezeichnung braucht man im nächsten Schritt.

pm list packages [ | grep <bezeichnung> ]

Der Teil in [ ] ist optional, wenn man schon eine Vorstellung vom Gesuchten hat, vielleicht „browser“, eingesetzt für <bezeichnung>:

pm list packages -f | grep browser

Die Liste ist lang und unübersichtlich – man muss schon genau hinsehen, um in den folgen Schritten nicht versehentlich das Falsche zu löschen.

VORSICHT: Es gibt keine Rückfrage, weg ist weg!

Für den Fall der gewünschten Browser enthielt meine Liste die Package-Namen com.google.android.chrome und com.android.browser. Jetzt geht es ans Löschen. Dabei sollte man die Package-Namen aus der Liste von eben mit der Maus kopieren, in den uninstall-Befehl einsetzen und vorm Abschicken nochmal genau kontrollieren:

Löschen:
pm uninstall -k --user 0 com.google.android.chrome (Chrome alt)
pm uninstall -k --user 0 com.android.chrome (Chrome neu)

pm uninstall -k --user 0 com.android.browser (Mi-Browser alt)
pm uninstall -k --user 0 com.mi.globalbrowser (Mi-Browser neu)

Oder einfach nur deaktivieren (nur neuere Apps):
pm disable-user com.android.chrome
pm disable-user com.mi.globalbrowser

Oder wieder aktivieren:
pm enable com.android.chrome
pm enable com.mi.globalbrowser

Es gibt keinerlei Rückmeldungen für das Gelingen oder dafür, dass vielleicht Mist gebaut wurde. Mit list kann man sehen, ab die Pakete weg sind, das ist alles.

Wenn man nicht etwas katastrophal falsches gelöscht hat, kommt man leicht wieder aus dem Modus des Smartphones raus, kann die Geräte trennen und sich dann freuen, dass die unerwünschten Apps weg sind. Hat man im Beispiel vergessen, vorher einen anderen Browser zu installieren, kann man das nun nachholen.


Quellen:

[1] https://www.heise.de/tipps-tricks/Android-Vorinstallierte-Apps-loeschen-ohne-Root-4324092.html
[2] https://android.izzysoft.de/articles/named/android-backup-options?lang=de
[3] https://selivan.github.io/2020/02/25/removing-bloatware-from-xiaomi-miui-android.html

Linux VirtualBox / Windows: USB-Geräte

Hier läuft Linux (Xubuntu 22.04) mit einer Oracle Virtual Box Version 7 (im Folgenden kurz VB) mit installierten Windows Guest Additions [2], in der ein Windows 10 32 Bit läuft. DIe Aufgabe war, an den Rechner einen USB-Stick, ein Festplatte oder besonders in meinem Fall ein Navi von Garmin anzuschließen. Die Software zum Updaten des Navis läuft natürlich nicht unter Linux – daher diese Klimmzüge. Die Software für das Navi heißt „Garmin Express“ und läuft auf einem richtigen Windows-PC sauber.

Ich stecke also zunächst ohne die VB und Windows einfach so an den laufen Linux-PC und sehe zwei Laufwerkssymbole auf dem Xfce-Desktop, die automatisch gemounted werden. Sieht gut aus, so erwarte ich das. Nur kann ich damit nichts anfangen, ich brauche „Garmin Express“ unter Windows. Also starte ich die VB und gehe bei meinem Eintrag Win-10 auf „ändern“. Dann in den Bereich „USB“. Ich wähle USB-3.0-Controller“ aus – der enthält auch die niedrigeren Standards. Über das kleine grüne +-Symbol am rechten Rand bekomme ich das Garmin angezeigt, der Text wird vom Gerät selbst zur Identifikation gesendet. Das Ergebnis ist im Bild zu sehen (ich habe noch 2 Sticks und ein weiteres USB-Gerät, die jetzt nicht angeschlossen sind).

USB-Einstellungen VBox

Jetzt starte ich Windows. Nach ganz kurzer Zeit verschwinden die beiden Laufwerkssymbole auf dem Xfce-Desktop, da das Gerät jetzt von der VB an Windows durchgereicht werden. Dass sie dort ankommen, zeigt eine Meldung in Windows, dass die beiden bisher unbekannten Laufwerke D: und E: (oder ähnlich) geprüft und ggf. repariert werden. Danach sind D: und E: auch im Windows-Explorer sichtbar.

Die „Garmin Express“-Software habe ich schon vorher installiert (Download und Anleitung [1]), nur mein Navi muss ich ihr noch bekannt machen. Das ist leicht.

Mögliche Fehlerquelle: Zunächst hatte ich in der Geräteauswahl für USB den USB-2.0-Controller ausgewählt und das Gerät vermutlich an eine USB-3-Buchse gesteckt (was ich nicht feststellen kann). Damit wurden weder die Sticks noch das Navi innerhalb der VB und Windows erkannt! Warum das so ist, weiß ich ehrlich gesagt nicht. Man muss hier also etwas probieren, wenn es nicht gleich geht; ich erkenn z.B. die Art der USB-Schnittstellen nicht, es steht nicht dran.

[1] https://www.garmin.com/de-DE/software/express/windows
[2] https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html

WLAN-Adapter USB für Linux

„Heutzutage ist es schwierig, einen Linux-kompatiblen USB-WLAN-Adapter zu finden, da Mainstream-Hersteller wie Netgear, Belkin und andere die Plattform nicht ernst nehmen. Infolgedessen wissen viele Linux-Benutzer nicht, was sie kaufen sollen.

Da es so schwierig ist, einen kompatiblen Linux-WLAN-Adapter zu finden, haben wir mehr als 20 Modelle auf dem Markt recherchiert – lesen Sie mehr über unsere eingehende Analyse und finden Sie heraus, welches das beste Produkt ist.“

Hier ist ein guter Beitrag mit aktuellen Produktempfehlungen von 2022 (englisch!):

https://www.addictivetips.com/ubuntu-linux-tips/usb-wifi-adapter-linux/