Hintergrund
" Google Play-Dienste für Instant Apps " hat sich ohne meine Erlaubnis auf meinem Gerät installiert . Es hat die Funktionalität meiner Firewall (AFWall und einige andere Apps) beschädigt. Und es aktualisiert sich selbst und andere Apps / Komponenten ohne Erlaubnis. Wenn ich diese Komponente deinstalliere, lädt sie sich selbst erneut herunter und wird sofort wieder installiert. (Das heißt, höchstwahrscheinlich ist es "Google Play-Dienste", die dies tatsächlich im Hintergrund tun.)
Es gibt keine Bestätigungen und keine Benachrichtigungen über das Herunterladen, Aktualisieren oder Installieren. Die Art und Weise, wie ich es entdeckte, war die Feststellung, dass einige Funktionen meiner Apps geändert / beschädigt wurden. Also habe ich eine App ("System Info for Android") verwendet und es zeigt, dass dieser "Google Play-Dienst für Instant Apps" tatsächlich vor einem Tag installiert wurde.
Meine Frage lautet: Wie deaktiviere ich nicht autorisierte Updates eines Android-Geräts vollständig und behalte dabei die folgenden Funktionen bei:
- Kontakte synchronisieren
- Google Play Store
- Google Maps App
In diesen Screenshots sehen Sie, dass alle Einstellungen, die für automatische Updates verantwortlich sind, ausgeschaltet sind. Daher ist dieser Download und die Installation eindeutig nicht autorisiert und sollten nicht stattfinden. Der Screenshot der Instant Apps-Einstellung wird angezeigt, nachdem das Objekt bereits installiert wurde. Verlassen Sie nur die globale Einstellung aus dem Google Play Store.
Einstellungen ›Apps // Einstellungen› Google ›Instant Apps (deaktiviert!) // Store-Einstellungen wiedergeben (automatische Aktualisierung deaktiviert!)
Es hat alles angefangen, nachdem ich einem irreführenden Vorschlag gefolgt bin , den Sie in diesem Screenshot sehen können, um "Google Play-Dienste" zu aktualisieren:
Bild anklicken für größere Variante
Update 1:
Was ich bisher entdeckt habe, ist, dass etwas (höchstwahrscheinlich "Google Play Services") den Download + die Installation anfordert. Auf diese Weise wird die Anfrage an den Google Download Manager gesendet. Unklar , was es auslöst, aber Gerät genau ein Symbol von Download Manager , wenn gerade tut erscheinen in Bestätigung, Download - Prozentsatz. Nach Fertigstellung verschwindet es jedoch sofort. Dennoch gibt es keine Hinweise auf eine Installation.
Was ich bisher ausprobiert habe:
- Installieren Sie die folgenden als Benutzerebene statt auf Systemebene apps , dass sie ursprünglich: Google - Konto, GP Store und Service Framework (
com.google.android.gms
;com.android.vending
;com.google.android.gsf
) Das hat nicht funktioniert. Der Download wird weiterhin angefordert und anschließend installiert. - Scheint, dass jede Art der Blockierung der Installation den Download wiederholt (bis Ihre Daten aufgebraucht sind). Der wahrscheinlich beste Ansatz wäre es also, das Herunterladen zunächst zu verhindern. Ich konnte Download Manager nicht als Benutzer-App installieren, da dieser Teil kontrolliert werden muss.
- Das Blockieren von Download Manager und / oder Play Store über eine Firewall ist möglich, aber dies ist die einzige vertrauenswürdige Methode zum Herunterladen von Apps.
Update 2:
Das Downgrade auf die vorherige Version von GP Services (v11.3.02) hat einige Tage gedauert, aber heute wurden GP Services für Instant Apps heruntergeladen und installiert. Es spielt also keine Rolle, welche Version Sie verwenden. Höchstwahrscheinlich aktualisiert Google alle Handys auf diese Weise, unabhängig davon.
Update 3:
Jetzt aktualisiert sich Google also regelmäßig, wann immer es sich danach anfühlt. Wenn ich einen Film streame, verringert sich meine Geschwindigkeit, und ich nutze meine Internetbandbreite, für die ich Geld pro MB bezahle. In diesem Bild sehen Sie 3 Google Apps, die ohne Erlaubnis aktualisiert wurden.
Antworten:
Update : In neueren Android-Versionen können Sie dies über Settings-> Google-> Instant Apps-> tun OFF.
Im besten Fall sollte dies ausreichen, um die automatische Aktualisierung von Instant Apps zu blockieren.
Führen Sie das Gerät über ein Terminal aus (Connectbot, Juicessh usw.).
Oder wenn Sie über ADB auf einem PC laufen, während Sie über Kabel (oder WLAN-ADB) verbunden sind, verwenden Sie:
Im Gegensatz
pm disable
pm hide
dazu funktioniert das auch auf nicht gerooteten Geräten. Bisher wurden keine Instant Apps-Benachrichtigungen mehr angezeigt.Wenn das oben Genannte für Sie nicht funktioniert, besteht ein anderer Ansatz darin, den SELinux-Kontext der Datei / des Ordners zu ändern (z
chcon
. B. mit ).Um den
pm hide
obigen Befehl zurückzusetzen, verwenden Sie:quelle
com.google.android.instantapps.supervisor
die App, die das von Ihnen erwähnte Monitoring durchführt? Oder handelt es sich um einen bestimmten Dienst von Google Play Services? Wenn es das zweite ist, ist das Rezept vermutlich nicht vollständig. Ich habe auch die Berechtigung des Pakets verweigert, im Hintergrund zu laufen und beim Booten zu starten.Wie der Name schon sagt, ist es Teil der Google-Apps. PlayStore verwendet es, um Apps auszuführen, ohne sie zu installieren (neuer Dienst). Es ist möglich, es zu deaktivieren, aber nicht zu entfernen (soweit ich weiß, wird es sich weiterhin selbst installieren, da es Teil der Kerndienste ist).
Zum Deaktivieren gehen Sie zu Einstellungen ›Google› Instant Apps und schalten Sie den Kippschalter um ( Referenz ).
Ich glaube, dies wird eine System-App auf neueren Geräten sein, für den Rest von uns mit älteren Geräten werden sie nur die Installation auf kompatiblen Geräten erzwingen.
Edit: Aufgrund der Tatsache, dass die Frage geändert wurde, nachdem ich geantwortet habe. Diese Antwort gilt für nicht gerootete Geräte. Mit einem gerooteten Gerät könnte es möglich sein, aber ich kann mir keine einfache oder dauerhafte Lösung vorstellen.
quelle
Info: [Nur Root] Bei dieser Lösung wird der Schreibzugriff auf den temporären Ordner (Cache) blockiert, in den Google seine System-Apps wie Google Play-Dienste, Google Play-Dienste für Instant Apps usw. herunterlädt. Es ist einfacher, als es aussieht, weil ich es bin alles erklären, es sieht nach viel aus. Danach besteht die Installation neuer Apps im Wesentlichen aus drei Schritten und der Vorgang ähnelt der Installation von Programmen auf einem PC.
Hintergrund: Unter meinem System funktionieren die Ordner wie folgt:
1)
/data/data/com.android.providers.downloads/cache
* Dies ist der Ordner, in dem Google-Systemupdates (sowie neue System-Apps) installiert werden.
* Leider wird dieser Ordner auch zum Herunterladen normaler neuer Apps verwendet. Sie können es also nicht dauerhaft blockieren. Sie müssen in der Lage sein, diese zu sperren / entsperren, wenn Sie neue Apps herunterladen.
2)
/mnt/sdcard/Android/data/com.android.vending/files
* In diesem Ordner werden normale (nicht von Google stammende) Apps aktualisiert. Sie müssen dies also nicht blockieren oder spezielle Maßnahmen ergreifen, um Ihre normalen Apps wie Facebook, Spiele usw. zu aktualisieren.
Lösung: Der Cache- Ordner oben bleibt während des normalen Betriebs gesperrt. Wenn Sie eine neue App installieren möchten, ist der Gesamtprozess wie folgt (obwohl er größtenteils automatisiert ist): (1) Cache- Ordner entsperren (2) App-Ordner sperren, falls er durchgeht, während er entsperrt und installiert wird. (3) Laden Sie Ihre neue App aus dem Store herunter. (4) Kopieren Sie das heruntergeladene Programm aus dem Installationsordner an einen anderen Ort und benennen Sie es unter dem Standardnamen (download.apk) um. (5) Löschen und Sperren des Cache- Ordners. (6) Entsperren Sie die Apps-Ordner. ( 7) Klicken Sie auf die APK-Datei, um sie zu installieren.
Natürlich möchten Sie dies nicht jedes Mal am Terminal eingeben, es handelt sich also um automatisierte Schritte. Sie beinhalten die Verwendung von zwei zusätzlichen Apps sowie die Installation von BusyBox (um den Befehl chattr über die Skripte verwenden zu können).
Sperren Das Entsperren erfolgt über eine App namens Gscript. Sie können jede andere App verwenden, mit der Skripte ausgeführt werden. Es gibt eine Version im Google Store, die jedoch für mich und andere Leute abstürzt. Hier ist eine stabile Gabel verfügbar: https://bitbucket.org/Equidamoid/gscript (Dank des Beitrags des Autors hier: https://stackoverflow.com/a/20328927/7609435 ) Fügen Sie einfach diese beiden Skripte dort ein. (Beide benötigen SU)
A) Vor dem Download ausführen - Apps sperren / Cache entsperren
chattr +i /data/data/* chattr +i /data/data chattr +i /data/app/* chattr +i /data/app chattr -i /data/data/com.android.providers.downloads/cache
B) Nach Abschluss des Downloads und nach dem Kopieren der Datei ausführen - Cache löschen und sperren / Apps entsperren
rm /data/data/com.android.providers.downloads/cache/* chattr +i /data/data/com.android.providers.downloads/cache chattr -i /data/data/* chattr -i /data/data chattr -i /data/app/* chattr -i /data/app
Sie werden wissen, dass die App heruntergeladen wurde, wenn der Play Store "Download fehlgeschlagen" meldet. Es wird gesagt, weil es das apk nicht installieren konnte, aber tatsächlich erfolgreich heruntergeladen wurde und es sich im Cache- Ordner befindet. Bevor Sie das obige Skript (B) ausführen, müssen Sie die Datei aus dem Cache- Ordner an einen anderen Ort verschieben. Sie können es natürlich mit jeder App tun, aber ich verwende Total Commander gerne, da es zwei Fenster haben kann und Lesezeichen unterstützt (ich habe Cache hinzugefügt ). Verschieben Sie es also und benennen Sie die Datei vom Standardnamen in etwas anderes um und führen Sie dann das obige Skript (B) aus. Beachten Sie auch, dass beim Kopieren der APK ein Symbol der App angezeigt werden muss. Wenn das Standardsymbol angezeigt wird, ist der Download wahrscheinlich aus anderen Gründen fehlerhaft, sodass Sie den Download erneut versuchen können.
Jetzt wird der Cache- Ordner gelöscht und gesperrt, und die Apps-Ordner werden entsperrt. (Sie können überprüfen, ob der Cache-Ordner zu 100% leer ist, aber ich bezweifle, dass dies erforderlich ist.) Sie können jetzt das heruntergeladene APK installieren.
Hinweis 1: Wenn Sie auf einen neuen Download klicken und die Meldung "Ausstehend" angezeigt wird, schließen Sie einfach Google Play (erzwingen) und starten Sie es neu. Der Download sollte automatisch starten.
Hinweis 2: Ich habe dies nur mit Android: 6.0.1 / MIUI: 8.5.3.0 getestet, daher ist diese Lösung möglicherweise nicht universell. Überprüfen Sie, ob Sie über den Cache-Ordner verfügen und ob der Download der Google Play-Dienste dort hochgeladen wird (nach Abschluss des Uploads bleibt er eine Weile dort).
WARNUNG: Es ist in Ordnung, den Cache-Ordner gesperrt zu lassen. Wenn Sie das Telefon jedoch neu starten, während diese Datenordner gesperrt sind, wird das Telefon nicht gestartet. Und Sie müssen manuell gehen und es von der TWRP-Shell ändern.
PS: Ich verstehe, dass diese Lösung nicht für jedermann geeignet ist. Wenn Sie jedoch in erster Linie Wert auf Stabilität legen und die Datennutzung unter Kontrolle halten möchten, funktioniert dies vorerst. Hoffentlich findet jemand eine bessere Antwort als diese.
quelle