Wie kann ich Google Play-Dienste und andere Standard-System-Apps auf der weißen Liste zum Doze bringen?

Angenommen, ich bin ein Benutzer, der es nicht mag, wenn einige System-Apps automatisch unter den Einstellungen für die Batterieoptimierung auf die weiße Liste gesetzt werden und von der Batterieoptimierung immun sind, oder es satt hat, dass Play-Dienste mehr als ihren gerechten Anteil an Batterie verbrauchen. Ich suche nach einer Lösung, die dieses Privileg dieser Apps aufheben und sie in die Zeile einfügen würde, in der der Rest der gewöhnlichen Genossen-Apps darauf wartet, dass der Benutzer sie mit Don't optimize markiert .

(Bild anklicken zum Vergrößern)

IMG:

Ich habe diese Antwort bereits gesehen und wie in einem Kommentar erwähnt, funktioniert sie nicht für Apps, die vom System auf die weiße Liste gesetzt wurden.

Ab sofort sind dies die Apps, die von Android 6.0.1 in meinem gerooteten Nexus 6 auf die weiße Liste gesetzt wurden:

IMG

Ich bin am meisten daran interessiert, com.google.android.gms zu entfernen .

Antworten (2)

Voraussetzungen

  • Ein gerootetes Android

Optional:

  • Eine vollständige ROM-Sicherung, die durch eine benutzerdefinierte Wiederherstellung erstellt wurde. Es ist für Ihre eigene Bequemlichkeit. Wenn etwas, das im nächsten Abschnitt vorgeschlagen wird, Startprobleme oder System-/App-Abstürze verursacht, hätten Sie etwas Gutes, um auf einen früheren Zustand zurückzugreifen.

  • Das Optimieren von Play-Diensten kann unvorhergesehene Folgen haben (einschließlich des Android Geräte-Managers oder von Apps zur Geräteverfolgung, die nicht ordnungsgemäß funktionieren). Es wird empfohlen, die Anzahl der installierten Apps zu berechnen, die von Google Cloud Messaging abhängt und von diesem Schritt betroffen wäre . Die Antworten hier können hilfreich sein: Gibt es eine Möglichkeit zu sehen, welche Apps GCM verwenden?

    Ich habe der Einfachheit halber meine eigene Antwort vorgezogen .


ZUR VERMEIDUNG VON STRÖM

Wenn Sie nur auf Google Play-Dienste abzielen und das mühsame Bearbeiten von Systemdateien vermeiden möchten , können Sie Enable Doze for GMS oder SysConfig Patcher Magisk Module verwenden. Sie benötigen das Magisk-Framework und den Magisk Manager .


Wie ich hier angemerkt habe , werden Google Play-Dienste von Google über die Datei google.xml , die sich unter /system/etc/sysconfig/ befindet, auf die weiße Liste gesetzt . Die Akte vermerkt unter anderem:

<!-- GmsCore muss immer Netzwerkzugriff für GCM und andere Dinge haben. -->
< Allow-in-Power-Save-Paket="com.google.android.gms" />

Kommentieren Sie die markierte Zeile mit <!--am Anfang und -->am Ende aus. Die Zeile sollte nun so aussehen:

<!-- < allow-in-power-save package="com.google.android.gms" /> -->

(Klicken Sie auf ein Bild, um es zu vergrößern)

IMG: IMG:

Starten Sie das Gerät neu und sehen Sie, dass die Google Play-Dienste jetzt nicht auf der Registerkarte „ Nicht optimiert “ verfügbar sind, aber für die Optimierung verfügbar sind.

(Klicken Sie auf ein Bild, um es zu vergrößern)

IMG: IMG:

Ich habe festgestellt, dass die Liste der Apps ebenfalls abgenommen hat:

IMG

Hinweis: Ich habe ES File Explorer verwendet , um zum Verzeichnis /system/etc/sysconfig zu navigieren, und QuickEdit verwendet , um google.xml zu bearbeiten . Die Verwendung dieser Tools ist nicht zwingend erforderlich. Sie können alles verwenden, was Sie bequem finden.

Für den Rest der Namen in der Liste beziehen Sie sich nun auf die entsprechenden unten aufgeführten Dateien:

  • com.android.providers.downloads : /system/etc/permissions/platform.xml
  • com.android.vending: /system/etc/sysconfig/google.xml -- Mir ist aufgefallen, dass der Umgang mit Google Play-Diensten den Play Store automatisch aus der Liste entfernt hat
  • com.google.android.apps.tycho : /system/etc/sysconfig/google_build.xml
  • com.android.omadm.service : /system/etc/sysconfig/whitelist_com.android.omadm.service.xml .

Kommentieren Sie die entsprechende Zeile aus, starten Sie neu und Ihre Optimierung sollte funktionieren.

Hinweis: Ich habe meine Ergebnisse mit Google Play-Diensten hier extrapoliert.

SystemConfig.java wird verwendet, um die Konfiguration aus dem Verzeichnis /system/etc/permissions und /system/etc/sysconfig zu lesen . Wenn Sie also eine System-App auf der weißen Liste haben, die nicht manuell hinzugefügt und in dieser Antwort nicht behandelt wird, konzentrieren Sie Ihre Suche zunächst auf diese beiden Verzeichnisse.

Hallo @Feuerlord. Ich habe diese Lösung in Android 7.1.1 bis zu dem Punkt ausprobiert, an dem ich letztendlich die Zeile für GMS vergeblich gelöscht habe. Irgendwelche Ideen, was sich in Android Nougat bezüglich der Implementierung geändert hat? Vielen Dank.
@ user42850. Es tut mir leid, das zu hören. Aber ich habe kein Android Nougat zur Verfügung, daher kann ich Ihnen in diesem Fall nicht helfen. :(
Ich habe mich in dieser Bearbeitung um Ihr Anliegen gekümmert: android.stackexchange.com/posts/143248/revisions (ich bin jedoch um ein Jahr zu spät).
adb shell dumpsys deviceidle whitelist -"com.yourcompany.yourapp"

Mit diesem Befehl in adb können Sie Apps aus Energiesparausschlüssen entfernen, die in Oreo getestet wurden, nicht gerootet sind. Und mit einem Pluszeichen (+) anstelle von Minus können Sie Apps zur Ausschlussliste hinzufügen.

Nochmal bearbeiten. Es liegt ein Fehler vor. Es funktioniert nicht immer

Der Standardsatz von Apps, die auf der Whitelist stehen, kann nicht entfernt werden. Kann es Google Play Services entfernen? Bitte legen Sie Beweise für Ihre Behauptung vor. Übrigens, meine Frage wurde in Bezug auf Android 6.0 gestellt, obwohl es mir nichts ausmacht, wenn Ihre Antwort für jede App für Android Oreo funktioniert.