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

EDIT: Das erzeugt ggf. erstmal eine Meldung in der Shell „adb: device unauthorized“ und auf dem Smartphone, in der ein Key bestätigt werden muss. Ich kann das leider nicht wiederholen (das geht nur 1x) und habe mir den genauen Wortlaut nicht gemerkt. Die Meldung sieht man erst, wenn das Handy entsperrt wird, und muss einfach bestätigt werden.

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> ]

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

Der Teil in [ ] ist optional, wenn man schon eine Vorstellung vom Gesuchten hat, vielleicht „browser“, eingesetzt für <bezeichnung>. Das verkürzt die Liste erheblich, vielleicht gibt es nur 1 Eintrag:

pm list packages | grep browser

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

Android: Wahl des Filemanagers

Zur Grundausrüstung meines Xiaomi Redmi Note 9 gehört ein simpler Dateimanager, der zwei für mich wichtige Dinge nicht kann: Die Änderung der Standard-App zum Öffnen einer Datei (das ging früher immer!) und das Platzieren einer Datei oder eines Verzeichnisses auf einem der Desktops. Eigentlich gehört das zum Standard von Android – dachte ich…

Ich habe nun viele Dateimanager aus dem Play Store ausprobiert, die alle mehr oder weniger für mich passten. Natürlich gehen solche Boliden wie der von Windows bekannte Total Commander, aber ich will auf einem Mobiltelefon keine umfangreiche Dateiverwaltung machen – nur mal löschen, umbenennen, verschieben und eben die beiden oben genannten Aufgaben müssen gehen.

Ich dachte auch nicht, dass die Einstellung einer Standard-App zum Öffnen vom System geliefert wird. In allen Beschreibungen für Anfänger steht sinngemäß: Man tippe etwas länger auf einen Dateinamen, wähle dann „öffnen mit“, wünsche sich aus einer Liste die gewünschte App aus und hat dann die Wahl zwischen „einmal“ und „immer“. So kenne ich das auch von früher. Aber nein! Für dieses Verhalten sorgt der installierte Dateimanager, das System sorgt nur für die Möglichkeit. Kann es der Dateimanager nicht, dann gibt es die Auswahl „immer“ nicht. So ging es mir und ich suchte ewig nach dem Fehler.

Lange Rede, kurzer Sinn. Ich kam nicht umhin, sich einen Dateimanager zu suchen, der für mich eben die beiden Wünsche erfüllt. Ich habe nun eine App mit dem schönen passenden Namen „Dateimanager“ gefunden, mit der ich zufrieden bin und die ich hiermit empfehlen kann:

https://play.google.com/store/apps/details?id=files.fileexplorer.filemanager&hl=de

Nebenn der eigentliche Arbeit ist dazu noch ein Player bzw. Betrachter für Musik, Videos und Bilder sowie ein Auspacker (nicht ausprobiert, ZIP?) integriert.

Die heute letzte Version ist vom 10.1.2023, die App wird also wohl gut gepflegt.

RustDesk: Die alternative Fernwartung

Lange habe ich zunächst TeamViewer, dann AnyDesk zur Fernwartung von entfernten Rechnern benutzt.

Teamviewer ist kommerziell und kostet richtig Geld, die private – das heißt auch sehr gelegentliche Nutzung – funktioniert immer nur kurz: Nach ein paar Minuten wird die Verbindung gekappt. Damit hat Fernwartung natürlich keinen Sinn und der hohe Preis ist bei seltener Benutzung nicht gerechtfertigt.

Dann habe ich AnyDesk ausprobiert. Bei mir lief Linux (Xubuntu) 20.04, da ging das problemlos. Das ist ein sehr schönes leistungsfähiges Programm mit nur unwesentlichen Einschränkungen bei kostenloser Nutzung. Aber dann habe ich einen neuen Rechner mit Xubuntu 22.04 aufgesetzt (also kein Upgrade), wodurch anscheinend irgendwelche Abhängigkeiten nicht erfüllt waren und ich habe AnyDesk nicht mehr zum Laufen gebracht (wie hier berichtet auf dieser Website).

RustDesk

Beim Versuch, eine Lösung zu finden, bin ich dann auf RustDesk gebracht worden (Danke voxxell99 und von.wert im Forum forum.ubuntuusers.de) . Das habe ich nun probiert und ich werde wohl dabei bleiben. Die Installation ist nach dem Download in 2 Minuten erledigt, es gibt nichts zu konfigurieren außer vielleicht ein dauerhaftes Passwort. Das kann man einem neuen Gegenüber auch „mal eben“ am Telefon erzählen.

Wichtig ist ein Hinweis, wenn das Programm zur Wartung eine PC ohne Monitor (Server) benutzt werden soll. Dafür ist es erforderlich, dass man sich einen HDMI-Emulator besorgt – eine Anschaffung unter 5 € in Form eines HDMI-Steckers „mit etwas dran“. Ansonst gibt es die Meldung „Kein Display“ und es kommt keine Verbindung zustande.

RustDesk ist Open Source Software und für jedes denkbare System verfügbar.

Android: Berechtigung „Rückrufnummer“ fehlt

Ich benutze ein Huawei P8 Lite 2017 mit Android 8.

Eine zeitlang habe ich bei diversen installierten Apps oder während der Installation – und scheinbar häufiger werdend – eine Fehlermeldung bekommen mit folgendem Inhalt:

Diese App funktioniert nur dann richtig, wenn du den Google Play Diensten Zugriff auf Folgendes gewährst:

Rückrufnummer

Um fortzufahren, gehe zu Einstellungen / Berechtigungen und aktiviere alle aufgelisteten Optionen.

Auch wenn mir die Option „Rückrufnummer“ rätselhaft schien, folgte ich dem enthaltenen Link und sah die fraglichen Einstellungen:

Nur „Telefon“ passte irgendwie zum genannten Fehler, aber das war eingeschaltet. Bei verschiedenen Apps kann diese Liste anders aussehen, aber „Telefon“ war immer dabei.

Nach Recherchen im Internet und der passenden Newsgroup im Usenet (de.alt.comm.android) stieß ich dann auf einen Hinweis, der zwar seltsam klang, aber auch bei mir funktioniert hat. Man möge eben diese Berechtigung „Telefon“ bei den Google Play Diensten ausschalten, die Warnung wegen drohender Funktionsunfähigkeit ignorieren und die Option gleich wieder einschalten. Einige empfehlen noch einen abschließenden Neustart, was ja sowieso ab und zu mal nützlich ist.

Fazit: Zum Einen handelt es sich um einen Übersetzungsfehler – es heißt nicht Rückrufnummer, sondern Telefon. Zum anderen: Dass diese Berechtigung zwar eingeschaltet ist, aber nicht funktioniert, und dass einfaches Ein- und Ausschalten den Fehler behebt, ist für mich klar ein Bug. Der zudem nicht neu ist, sondern anscheinend seit Jahren bekannt und zwar unabhängig von der Android-Version.

Android 8: Akku-Optimierung ignorieren

Auf meinem Huawei P8 Lite 2017 mit Android 8 nutze ich seit langem die App Fritz!App Fon“ von AVM. Die verbindet im lokalen WLAN mein Smartphone mit der Fritz!Box und bindet damit das Smartphone als ganz normales Telefon ein, um Festnetz-Anrufe anzunehmen und aufzubauen. Eigentlich soll die App bemerken, wenn das Telefon im lokalen Netz ist und automatische die Verbindung halten und auch wieder neu aufbauen, wenn man außer Haus war.

Genau das letztere ging noch nie, was ich aber als Macke der App angesehen habe. Sie verband sich eben nicht mehr mit der Fritz!Box, was ich lange nicht bemerkte. Nur wenn die anderen Telefone klingelten und das Smartphone nicht… Nach vielen Anläufen und mit lobenswerter Mithilfe des Supports von AVM habe ich dann die Lösung gefunden und will sie hier kurz zeigen. Es ist eine sehr gut versteckte Option in den Einstellungen, auf die ich nie allein gekommen wäre. Also:

Man gehe in die Einstellungen und dann weiter

Apps und Benachrichtigungen
Apps
darin das Zahnrad unten in der Mitte
Erweitert
Spezieller Zugriff
Akku-Optimierungen ignorieren
mit Pfeil aufklappen: Alle Apps (da stehen schon Google-Dienste)
App auswählen, hier also Fritz!App Phone, dort steht erstmal „unzulässig“
antippen und ändern in zulässig

Achtung, das ist sowas wie eine doppelte Verneinung „ignorieren zulassen“ 🙂 !

Man bedenke, dass es eine Ähnliche Option auch unter Akku / Starten gibt, wo ebenfalls „Manuelle Steuerung“ und darin Autostart und „Im Hintergrund“ eingestellt werden kann. Ob man beides tun sollte, weiß ich nicht genau – sicher ist sicher.

Tracker in Android VPN Clients

Dass jeder Programmentwickler so viel wie möglich über die Nutzung seiner Programme wissen möchte, ist verständlich. Dass er gern auch personengebundene Daten mitschreiben möchte, um die Daten dann zu verkaufen, ist aus kommerzieller Sicht auch verständlich, wenn auch fragwürdig. Dass aber ausgerechnet Apps, die die vermeintlich der Sicherheit dienenden VPN-Verbindungen herstellen, um im Internet besser anonym bleiben zu können, genau solche Daten für den Kauf abzweigen, ist bedenklich.

Wirklich verwerflich wird es, wenn dann noch namhafte Hersteller von Sicherheitssoftware wie Avast und Panda die Spitzenreiter sind. Hier ist eine kurze Übersicht gängiger VPN-Clients:

www.pcwelt.de/news/Tracker-Seuche-auch-in-VPN-Apps-10564551.html

Ein Tip:

Die App Private Tunnel VPN steht nicht nur auf der obigen Liste der nicht-trackenden Clients, sondern es wird auch kein Geld verlangt (für den privaten Gebrauch?). Zusammen mit einem Tor- Browser wie Orfox (dieser auch zusammen mit Orbot als VPN-Client, beides aus dem Tor-Projekt und damit hoffentlich glaubhaft) ist man sicher gut gegen Neugier geschützt.

Google’s Benachrichtigungen-Chaos

Ich benutze Aquamail als Mailclient auf meinem „Huawei P8 lite 2017“ mit Android 8 Oreo und allen Aktualisierungen. Bis irgendwann im letzten Jahr hat immer ein Vögelchen gezirpt, wenn eine Mail reinkam, das ist seit Jahren meine Benachrichtigung auch auf dem PC. Und nun ist das Vögelchen seit einiger Zeit stumm. Auf einem Tablet mit Android 7 singt es noch.

Nun suche ich mir seit Tagen den Wolf nach dem Fehler in den Einstellungen. Meist sitzt der Fehler ja am Gerät, wie ich weiß. Diesmal war ich ratlos. Bis ich einen Artikel im Aquamail-Forum fand, der genau dieses Thema behandelt.

Die Kernaussage ist, dass Google als Entwickler von Android das System der Benachrichtigungen so weit verschlimmbessert hat, dass Chaos entstanden ist, das die Hersteller der Telefone nicht oder nicht so schnell beseitigen können (oder wollen?). Kurz gesagt hat Google sogenannte „notification channels“ erfunden, also Benachrichtigungskanäle, über die einzelne Apps ihre Benachrichtigungen senden könnten, und die Art und Weise sollte der Nutzer einstellen können – wenn es denn ginge. Denn die Umsetzung ist wohl so mistig gelungen, dass es eben meist nicht oder nur teilweise funktioniert.

In der FAQ von Aquamail liest sich das ganz unten („Notification appearance settings – Android 8.0 and newer“) so (übersetzt vom Google-Translater, sic!):

Gemäß den Google-Anforderungen befinden sich die Einstellungen für das Erscheinungsbild der Benachrichtigung nun in den Telefoneinstellungen von Android. Dies gilt für Android 8.0 und höher sowie für Aqua Mail 1.18 und höher. Es ist in allen oder fast allen Apps gleich (definitiv Gmail, Twitter, andere, die kürzlich aktualisiert wurden).

Telefoneinstellungen haben Optionen für Ton, Vibration ein / aus.
Es gibt keine Option für LED-Farben (Google hat vergessen, Hersteller scheinen sich nicht darum zu kümmern).
Es gibt keine Option für Vibrationsmuster.
Einige Telefone haben keine Option für LED ein / aus. Einige Telefone haben keine Option zum Auswählen eines bestimmten Tons, nur ein / aus, und zwar unter Verwendung der „globalen“ Benachrichtigungstoneinstellung (die geändert werden kann, aber sich auf alle modernen Apps auswirkt).

Bei einigen Telefonen blinkt die LED nur, wenn ein Ton oder eine Vibration auftritt (ist für mich nicht sinnvoll, aber dies ist Google). Einige Telefone haben eine gut versteckte Einstellung zum „Pulsieren der LED“, andere nicht.

Das ganze Chaos ist völlig außerhalb unserer Kontrolle. Die Einstellungen für die Benachrichtigungseinstellungen werden jetzt von Android bereitgestellt (und können von Gerät zu Gerät variieren) und können von Apps nicht überschrieben werden.

Google ist eine starke Bewaffnung der Entwickler, dies ist nicht optional (wenn sich eine App nicht für das neue Schema entscheidet – es ist nicht möglich, Updates für Play seit dem 1. November 2018 zu veröffentlichen … und wir möchten dies tun).

Wenn bei Ihrem Telefon einige Optionen fehlen (z. B. die Möglichkeit, einen Ton auszuwählen), oder funktionieren einige nicht, wenden Sie sich bitte an den Support Ihres Telefonherstellers und teilen Sie ihm mit. Sie und Google sind die einzigen, die das beheben können.

Wie interessiert sie sind, ist eine andere Sache, aber es besteht Hoffnung, da dies nun alle Apps betrifft. Ihr Telefonhersteller kann dies in „ihrem“ Android-Flair „beheben, ohne auf Googles nächstes Android-Update zu warten.

Fazit: Keine Chance. Mein Vögelchen bleibt stumm, bis irgendwer bei Google oder Huawei Interesse daran hat, das Chaos zu beseitigen und den eigentlich guten Vorsatz technisch sauber umzusetzen.

Bemerkenswert ist allerdings, dass sich beispielsweise WhatsApp nicht an Googles Vorgaben hält, trotzdem weiter lebt und sich auch nicht durch die Einstellung der Nachtruhe aus dem Konzept bringen lässt – es nervt mit einem von mir eingestellten Klingelton, auch wenn „nicht stören“ eingestellt ist. Es geht also (jedenfalls fast…)!?

Android Apps übertragen Daten an Facebook

Nicht nur WhatsApp – das Facebook gehört – überträgt Daten an Facebook, sondern auch andere Android-Apps, die das „praktische“ Facebook-SDK eingebaut bekommen haben! Nachzulesen hier:

https://www.heise.de/newsticker/meldung/Android-Apps-uebertragen-sensible-Daten-an-Facebook-4249863.html

In meinem eigenen Beitrag hier habe ich schon auf Betrachtungen verwiesen, warum WhatsApp in Deutschland im Grunde gesetzwidrig ist.