Skip to main content

Android: Google-Dienste entfernen und Vorbereitung für microG - Stage 1

Stand: 2026-05-01

Gerät/Shell: Android-Root-Shell auf pa3q

Ziel: Google Play Services, Play Store, Google Services Framework und unnötige Google-nahe Apps für den Hauptnutzer entfernen/deaktivieren, Captive-Portal-Checks von Google wegdrehen und das Gerät auf eine spätere microG-Installation vorbereiten.

Wichtiger Kontext: Die Befehle mit pm uninstall --user 0 entfernen Apps nur für den Android-Hauptnutzer user 0. System-Apps bleiben im ROM beziehungsweise in der Systempartition bekannt und können mit cmd package install-existing --user 0 <paketname> wiederhergestellt werden. Das ist gewollt, weil es sicherer ist als blindes Löschen aus /system.

1. Ausgangslage: Google-Kernpakete prüfen

Zuerst wurde geprüft, ob die drei wichtigsten Google-Kernpakete für user 0 aktiv installiert sind:

for p in com.google.android.gms com.android.vending com.google.android.gsf; do
  echo "$p:"
  cmd package list packages --user 0 "$p"
done

Ergebnis:

com.google.android.gms:
com.android.vending:
com.google.android.gsf:
Keine Ausgabe bedeutet: Für user 0 sind diese Pakete nicht aktiv installiert.
Paket Bedeutung Status für user 0
com.google.android.gms Google Play Services Nicht aktiv installiert
com.android.vending Google Play Store Nicht aktiv installiert
com.google.android.gsf Google Services Framework Nicht aktiv installiert

2. Prüfung auf deinstallierte Systempakete

Danach wurde geprüft, ob die Pakete im ROM noch als deinstallierte Systempakete bekannt sind:

for p in com.google.android.gms com.android.vending com.google.android.gsf; do
  echo "$p:"
  cmd package list packages --user 0 -u "$p"
done

Ergebnis:

com.google.android.gms:
package:com.google.android.gms.location.history
package:com.google.android.gms.supervision
package:com.google.android.gms

com.android.vending:
package:com.android.vending

com.google.android.gsf:
package:com.google.android.gsf

Interpretation:

Paket Bedeutung Interpretation
com.google.android.gms Google Play Services Für user 0 entfernt, aber als Systempaket noch im ROM registriert.
com.android.vending Google Play Store Für user 0 entfernt, aber als Systempaket noch im ROM registriert.
com.google.android.gsf Google Services Framework Für user 0 entfernt, aber als Systempaket noch im ROM registriert.
com.google.android.gms.location.history Google/Location-History-nahe Komponente Für user 0 nicht aktiv, aber als Systempaket bekannt.
com.google.android.gms.supervision Google/Supervision-nahe Komponente Für user 0 nicht aktiv, aber als Systempaket bekannt.
Das ist ein guter Zustand für ein entgoogeltes Setup auf Nutzerebene: Die Pakete sind nicht aktiv, können aber im Notfall wiederhergestellt werden.

3. Aktive Google-nahe Pakete suchen

Danach wurde nach aktiven Paketen gesucht, deren Name auf Google, GMS, GSF, Play Store, YouTube, Chrome, Gmail oder Maps hindeutet:

cmd package list packages --user 0 | while read p; do
  case "$p" in
    *google*|*gms*|*gsf*|*vending*|*youtube*|*chrome*|*gmail*|*maps*)
      echo "$p"
      ;;
  esac
done

Die Ausgabe enthielt noch mehrere aktive com.google.android.*-Pakete. Wichtig: Nicht jedes Paket mit google im Namen ist automatisch ein proprietärer Trackingdienst. Manche sind Android-Systemmodule, die auf AOSP/Google-Modulnamen basieren.

4. Entfernte Apps und Dienste

Folgende Pakete wurden für user 0 entfernt:

pm uninstall --user 0 com.google.android.projection.gearhead
pm uninstall --user 0 com.google.ar.core
pm uninstall --user 0 com.google.android.syncadapters.calendar
pm uninstall --user 0 com.google.android.healthconnect.controller
pm uninstall --user 0 com.google.android.printservice.recommendation
pm uninstall --user 0 com.google.android.apps.carrier.carrierwifi
pm uninstall --user 0 com.google.android.onetimeinitializer
pm uninstall --user 0 com.google.android.apps.setupwizard.searchselector
pm uninstall --user 0 com.google.android.setupwizard

Alle Befehle wurden erfolgreich ausgeführt.

Paket Bedeutung Warum entfernt?
com.google.android.projection.gearhead Android Auto Nicht nötig, wenn Android Auto nicht verwendet wird.
com.google.ar.core Google ARCore Nicht nötig, wenn keine AR-Funktionen gebraucht werden.
com.google.android.syncadapters.calendar Google Kalender-Synchronisierung Nicht nötig ohne Google-Konto beziehungsweise Google-Kalender-Sync.
com.google.android.healthconnect.controller Health Connect Controller Nicht nötig, wenn Health Connect nicht verwendet wird.
com.google.android.printservice.recommendation Druckdienst-Empfehlungen Komfort-/Empfehlungsdienst, nicht notwendig für Basisbetrieb.
com.google.android.apps.carrier.carrierwifi Carrier-WiFi / Provider-WLAN-Komponente Nicht nötig, wenn keine Provider-WLAN-Integration verwendet wird.
com.google.android.onetimeinitializer Google Initialisierungsdienst Nach Entfernung der Google-Dienste nicht gewünscht.
com.google.android.apps.setupwizard.searchselector Suchanbieter-Auswahl im Setup Nach abgeschlossener Einrichtung nicht nötig.
com.google.android.setupwizard Google Setup Wizard Nach abgeschlossener Einrichtung meist entbehrlich.

5. Captive Portal von Google wegdrehen

Android nutzt Captive-Portal-Checks, um zu erkennen, ob ein Netzwerk Internetzugang hat oder ob ein Login-Portal geöffnet werden muss. Standardmäßig zeigen diese Checks oft auf Google-Adressen. Das kann auch ohne Play Services zu unnötigen Kontakten zu Google führen.

Die URLs wurden auf captiveportal.kuketz.de geändert:

settings put global captive_portal_http_url http://captiveportal.kuketz.de
settings put global captive_portal_https_url https://captiveportal.kuketz.de
settings put global captive_portal_fallback_url http://captiveportal.kuketz.de
settings put global captive_portal_other_fallback_urls http://captiveportal.kuketz.de
settings put global captive_portal_mode 1

Danach wurde die Konfiguration geprüft:

settings get global captive_portal_http_url
settings get global captive_portal_https_url
settings get global captive_portal_fallback_url
settings get global captive_portal_other_fallback_urls
settings get global captive_portal_mode

Ergebnis:

http://captiveportal.kuketz.de
https://captiveportal.kuketz.de
http://captiveportal.kuketz.de
http://captiveportal.kuketz.de
1
Setting Wert Bedeutung
captive_portal_http_url http://captiveportal.kuketz.de HTTP-Check für Netzwerkportal-Erkennung.
captive_portal_https_url https://captiveportal.kuketz.de HTTPS-Check für Netzwerkportal-Erkennung.
captive_portal_fallback_url http://captiveportal.kuketz.de Fallback-Adresse.
captive_portal_other_fallback_urls http://captiveportal.kuketz.de Weitere Fallback-Adresse.
captive_portal_mode 1 Captive-Portal-Erkennung bleibt aktiv, aber nicht mehr mit Google-URL.
Ergebnis: Netzwerkerkennung bleibt funktionsfähig, aber die Standardkontakte zu Google für Captive-Portal-Checks wurden reduziert beziehungsweise ersetzt.

6. Pakete, die vorerst nicht entfernt werden sollten

Diese Pakete sollten nicht blind entfernt werden, da sie für Android-Funktionen relevant sein können:

Paket Funktion Warum vorsichtig?
com.google.android.permissioncontroller Berechtigungsverwaltung Entfernung kann App-Berechtigungen beschädigen.
com.google.android.packageinstaller Paketinstallation Entfernung kann App-Installation beschädigen.
com.google.android.documentsui Dateiauswahl Viele Apps brauchen diese Systemauswahl.
com.google.android.networkstack Netzwerkfunktionen Kann WLAN/Mobilfunk-/Netzwerklogik beeinflussen.
com.google.android.networkstack.tethering Tethering/Hotspot Entfernung kann Hotspot und Tethering beschädigen.
com.google.android.providers.media.module Medienanbieter Wichtig für Medienzugriff.
com.google.android.photopicker Android Fotoauswahl Von Apps für sichere Medienauswahl verwendet.
com.google.android.sdksandbox SDK Sandbox Modernes Android-Systemmodul.
com.google.android.webview Android WebView Nicht einfach löschen. Erst Ersatz-WebView bereitstellen, falls gewünscht.
com.google.android.captiveportallogin Captive-Portal-Login Wird für WLAN-Loginportale benötigt. URLs wurden bereits angepasst.

7. Aktueller Status

  • Google Play Services, Play Store und Google Services Framework sind für user 0 nicht aktiv.
  • Die Kernpakete sind weiterhin als Systempakete im ROM registriert.
  • Mehrere unnötige Google-/Komfortpakete wurden für user 0 entfernt.
  • Captive-Portal-Checks wurden von Google weg auf captiveportal.kuketz.de gesetzt.
  • Systemnahe Android-Module wurden bewusst nicht blind entfernt.

8. Rollback: entfernte Pakete wiederherstellen

Da die Pakete nur für user 0 entfernt wurden, können sie bei Bedarf wieder aktiviert werden:

cmd package install-existing --user 0 com.google.android.projection.gearhead
cmd package install-existing --user 0 com.google.ar.core
cmd package install-existing --user 0 com.google.android.syncadapters.calendar
cmd package install-existing --user 0 com.google.android.healthconnect.controller
cmd package install-existing --user 0 com.google.android.printservice.recommendation
cmd package install-existing --user 0 com.google.android.apps.carrier.carrierwifi
cmd package install-existing --user 0 com.google.android.onetimeinitializer
cmd package install-existing --user 0 com.google.android.apps.setupwizard.searchselector
cmd package install-existing --user 0 com.google.android.setupwizard

Rollback für Captive Portal auf Android-Standardverhalten ist gerätespezifisch. Statt feste Google-URLs zurückzuschreiben, kann man die gesetzten Werte löschen und Android/ROM wieder Defaultwerte nutzen lassen:

settings delete global captive_portal_http_url
settings delete global captive_portal_https_url
settings delete global captive_portal_fallback_url
settings delete global captive_portal_other_fallback_urls

9. Nächster geplanter Schritt: microG

Als nächstes soll microG eingerichtet werden, damit Apps, die Google Play Services erwarten, möglichst ohne proprietäre Google Play Services funktionieren.

Wichtige Punkte vor der Installation

  • microG braucht in der Regel Signature Spoofing, damit Apps es als Ersatz für com.google.android.gms akzeptieren.
  • Auf einem normalen Hersteller-ROM ist Signature Spoofing meistens nicht nativ vorhanden.
  • Wenn microG Cloud Messaging aktiviert wird, kommuniziert microG trotzdem mit Google-Servern für Push-Nachrichten.
  • Für maximale Privatsphäre sollten Google Device Registration und Cloud Messaging deaktiviert bleiben, sofern keine App sie zwingend braucht.

Geplante Prüfschritte

# Prüfen, ob microG-Paketnamen schon vorhanden sind
cmd package list packages --user 0 | while read p; do
  case "$p" in
    *microg*|*gms*|*gsf*|*vending*|*android.gms*)
      echo "$p"
      ;;
  esac
done

# Prüfen, ob die alten Google-Kernpakete weiterhin nur als entfernte Systempakete existieren
for p in com.google.android.gms com.android.vending com.google.android.gsf; do
  echo "$p:"
  cmd package list packages --user 0 "$p"
  cmd package list packages --user 0 -u "$p"
done
Ziel für den nächsten Schritt: microG sauber installieren, ohne die alten proprietären Google Play Services wieder zu aktivieren.