Wie kann ich den Akkuverbrauch eines Android-Geräts mit logcat diagnostizieren?

17

Ich habe ein schwerwiegendes Problem mit der Batterie meines offiziellen Cyanogenmod Custom ROM. Nachdem ich es in Community-Foren besprochen hatte, wurde mir vorgeschlagen, logcat zur Fehlerbehebung zu verwenden.

Problem:
Jedes Mal, wenn ich mein Gerät nach einem vollständigen Ladevorgang vom Computer trenne, wird der Akku schnell entladen. Es verliert fast 50% in 15-20 Minuten. Wie oben erwähnt, plane ich, logcat zu verwenden, um das Problem zu erfassen. Ich plane, adb logcatsofort nach dem Trennen des Telefons von der Stromversorgung zu laufen . Ich habe jedoch in der Vergangenheit logcat verwendet und fand es sehr, sehr schwierig, bestimmte Daten aus der großen Ausgabe zu extrahieren. Ich habe bereits die offizielle logcat-Hilfeseite und das Lesen und Schreiben von Protokollen durchgesehen, um festzustellen , ob ich etwas Nützliches finden konnte, aber keine Lösung für mein Problem gefunden habe.

Frage:

  • Gibt es überhaupt Filter oder eine andere Funktion, mit der ich die logcat-Ausgabe auf die Statistiken beschränken kann, die nur mit der Akkunutzung zusammenhängen?
  • Kann adb shell dumpsys batterystats > batterystats.txtmir so etwas besser helfen? Wenn ja, wie verwende ich es, um zu bekommen, was ich will?

Batterie Graph1 Verwendungsmuster zeigt nichts Batteriediagramm 2

UPDATE:
BatteryStats für meinen Drain finden Sie jetzt hier bei Patebin. Dies ist auch meine Batterie-Historien-Tabelle:
Batterie-Historiker-Diagramm

theHeman
quelle
Lassen Sie uns diese Diskussion im Chat fortsetzen .
TheHeman
1
Aus der Entladekurve gehe ich hier eher von einem fehlerhaften Akku als von einer App aus (vor allem, wenn das immer so passiert). Vielleicht versuchen Sie es mit einem neuen Akku (vorausgesetzt, Ihr Gerät kann ihn ersetzen)?
Izzy
Ich denke, das Problem liegt am Akku, nicht an einer App. Versuchen Sie, den Akku von jemandem mit demselben Gerät auszuleihen, und testen Sie, ob bei dem neueren Akku derselbe Fehler auftritt. Wenn nicht, brauchen Sie nur eine neue Batterie. Wenn es immer noch funktioniert, würde ich immer noch nicht denken, dass es an einer App liegt - um so viel Batterie zu entladen, müsste GPS aktiviert werden, viel Netzwerkverkehr herrschen und gleichzeitig komplexe Prozesse ausführen.
Namnodorel
@Namnodorel leider ist es ein nicht austauschbarer Akku .. Ich denke auch, dass es an keiner App liegt. Es ist entweder ein Leck im ROM oder etwas anderes. Ich gehe davon aus, dass es kein Problem mit dem Akku gibt, da es, wie gesagt, einwandfrei funktioniert, wenn ich den Akku nach dem Ablegen wieder auflade: |
TheHeman
Batterien, die kaputt gehen, können manchmal inkonsistent sein. Die Batterie meines Galaxy S6 ist langsam leer und an manchen Tagen ist es besser, an manchen Tagen ist es schlimmer. Mein Abfluss ist nicht so bedeutend wie der Ihre, aber ich glaube, dass er nicht auf eine Anwendung zurückzuführen ist. Haben Sie versucht, das Telefon im abgesicherten Modus auszuführen? Haben Sie versucht, die Werkseinstellungen zurückzusetzen (so schrecklich und unglücklich, wie sie durchzuführen und wiederherzustellen sind)?
Kaizerwolf

Antworten:

1

Sind Sie sicher, dass keine App Ihren Akku erschöpft? Dies können Sie herausfinden, indem Sie Ihr Telefon im abgesicherten Modus starten. Anweisungen zum Starten des Telefons im abgesicherten Modus finden Sie unter So starten Sie das Telefon im abgesicherten Modus . Wenn sich Ihr Akku im abgesicherten Modus nicht entlädt, deinstallieren Sie die Apps, die Sie installiert haben, nachdem Sie dieses seltsame Verhalten festgestellt haben. Wenn Sie nicht herausfinden können, um welche App es sich handelt, setzen Sie sie ab Werk zurück. Wenn der Akku so schnell entladen wird, liegt möglicherweise ein fehlerhafter Akku vor.

Sakethram
quelle
Nun, der allgemeine Vorschlag ist gut, aber er beantwortet nicht wirklich die eigentliche Frage (Diagnose des Batterieverbrauchs mit logcat)
Andrew T.
@AndrewT. Im Allgemeinen sind Sie richtig. Aber wenn man bedenkt, dass OP das Problem lösen möchte, macht die Behebung des Problems in logcat es irgendwie zu einem XY-Problem (in Grenzen). Obwohl die Frage nicht zu 100% "wörtlich" passt, würde ich sagen, dass sie zum Problem passt und einen Lösungsansatz bietet.
Izzy
0

Gibt es überhaupt Filter oder eine andere Funktion, mit der ich die logcat-Ausgabe auf die Statistiken beschränken kann, die nur mit der Akkunutzung zusammenhängen?

Sicher. Der einfachere Weg ist die Verwendung des Geräte-Monitors von Android Studio. Die komplexere Methode besteht darin, die Befehlszeilenschnittstelle für adb logcat zu verwenden (sie verwendet die Umgebungsvariable ANDROID_LOG_TAGS). Cf Logcat Kommandozeilen - Tool - Dokumentation auf developer.android.com.

Kann etwas wie adb shell dumpsys batterystats> batterystats.txt für mich von besserem Nutzen sein? Wenn ja, wie verwende ich es, um zu bekommen, was ich will?

Die Batterieentladung ist hauptsächlich auf einige unerwartete Bedingungen zurückzuführen (Fehler bei der Ausführung von Anwendungen zur Endlosschleife, schlecht erkannte Geräte, die den Zugriff suboptimieren, z. B. Lesen von Byte für Byte anstelle von Mb für Mb usw.). Sie sollten die Filterfunktion von adb logcat verwenden, um solche unerwarteten Bedingungen zu ermitteln. Aber seien Sie gewarnt, dass solche Tools hauptsächlich von App- oder sogar Plattform-Entwicklern verwendet werden und es manchmal etwas kompliziert sein kann, solche Protokolle zu interpretieren. Allerdings haben 100% der Jungs, die es geschafft haben, es versucht ;-)

Rémi Cohen-Scali
quelle