Profil der Akkunutzung mit BatteryStats und Akkuhistorian

In diesem Dokument werden die grundlegenden Einrichtungsschritte und der Workflow für das Tool Batterystats und das Script „Akku Historian“ beschrieben. Informationen zum Verwenden von Battery Historian zur Überprüfung des Akkuverbrauchs findest du unter Energieverbrauch mit Battery Historian analysieren.

Batterystats ist ein im Android-Framework enthaltenes Tool, das Akkudaten auf deinem Gerät erfasst. Mit adb können Sie die erfassten Akkudaten an Ihr Entwicklungssystem übertragen und einen Bericht erstellen, den Sie mit „Akku Historian“ analysieren können. Battery Historian wandelt den Bericht von Batterystats in eine HTML-Visualisierung um, die du in deinem Browser ansehen kannst.

„Akkustatistiken“ und „Akkuhistorian“ sind für Folgendes nützlich:

  • Sie sehen, wo und wie Prozesse Strom aus dem Akku verbrauchen.
  • Aufgaben in Ihrer App identifizieren, die verschoben oder entfernt werden können, um die Akkulaufzeit zu verlängern.

Akku Historian installieren

Sie können Docker verwenden, um Battery Historian zu installieren. Alternative Installationsmethoden, einschließlich der Erstellung aus dem Quellcode, finden Sie in der Readme-Datei auf der GitHub-Seite des Projekts. So installieren Sie die App mit Docker:

  1. Installieren Sie Docker gemäß der Anleitung auf der Docker-Website. Alle Abotypen können verwendet werden, auch ein kostenloses Abo für private Nutzer.

  2. Wenn Sie prüfen möchten, ob Docker korrekt installiert wurde, öffnen Sie die Befehlszeile und geben Sie den folgenden Befehl ein:

    docker run hello-world
    

    Wenn Docker korrekt installiert ist, wird eine Ausgabe wie diese angezeigt:

    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    78445dd45222: Pull complete
    Digest:
    sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal
    
  3. Starten Sie die Docker Desktop-App – ein GUI-Front-End für Docker –, bevor Sie das Akku Historian-Image ausführen. Dadurch werden die Docker-Tools initialisiert. Der Akkuverlauf funktioniert erst, wenn Sie dies mindestens einmal getan haben.

  4. Den Akku Historian über die Befehlszeile ausführen, wenn er zum ersten Mal ausgeführt wird. In der Docker Desktop-Anwendung können Sie den Port nicht angeben, auf dem der Webserver ausgeführt werden soll. Dies ist nur über die Befehlszeile möglich. Nachdem Sie den Container jedoch erfolgreich über die Befehlszeile ausgeführt haben, wird in Docker Desktop ein Eintrag erstellt, den Sie dann mit demselben Listener-Port von Docker Desktop starten können.

  5. Führen Sie das Battery Historian-Image mit dem folgenden Befehl aus:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
    

    Battery Historian verwendet den Port deiner Wahl, wie in port_number angegeben.

  6. Rufen Sie in Ihrem Browser den Akkuverlauf auf, um zu prüfen, ob er ausgeführt wird. Die Adresse variiert je nach Betriebssystem:

    Für Linux und Mac

    „Akkuhistorian“ ist unter http://localhost:port_number verfügbar.

    Für Windows

    Nachdem Sie Docker gestartet haben, wird die IP-Adresse der verwendeten Maschine mitgeteilt. Lautet die IP-Adresse beispielsweise 123.456.78.90, ist „Akku Historian“ unter http://123.456.78.90:port_number verfügbar.

    Anschließend wird die Produktseite „Akkuverlauf“ angezeigt, auf der Sie Akkustatistiken hochladen und ansehen können.

    Die Startseite von Battery Historian
    Abbildung 1: Die Startseite von „Akku Historian“.

Daten mit Akkustats erfassen

Gehen Sie so vor, um Daten von Ihrem Gerät mit BatteryStats zu erfassen und im Akkuverlauf zu öffnen:

  1. Verbinden Sie Ihr Mobilgerät mit Ihrem Computer.

  2. Fahren Sie in einem Terminalfenster mit dem folgenden Befehl den laufenden adb-Server herunter:

    adb kill-server
    
  3. Starten Sie adb neu und führen Sie den folgenden Befehl aus, um nach verbundenen Geräten zu suchen.

    adb devices
    

    Ihr Gerät wird ähnlich wie in der folgenden Beispielausgabe aufgelistet.

    Die Ausgabe von ADB-Geräten
    Abbildung 2: Die Ausgabe von adb devices mit einem verbundenen Gerät

    Wenn keine Geräte aufgeführt sind, prüfe, ob dein Smartphone verbunden und USB-Debugging aktiviert ist. Beende dann die Wiedergabe und starte sie neu adb.

  4. Setzen Sie die Erfassung von Akkudaten mit dem folgenden Befehl zurück:

    adb shell dumpsys batterystats --reset
    

    Das Gerät erfasst im Hintergrund immer Akkustatistiken und andere Debugging-Informationen. Durch das Zurücksetzen werden die bisherigen Daten zur Akkuerfassung gelöscht. Wenn Sie ihn nicht zurücksetzen, kann die Ausgabe sehr groß sein.

  5. Trennen Sie das Gerät vom Computer, sodass nur der Akku des Geräts Strom abruft.

  6. Sie verwenden Ihre App und führen Aktionen aus, für die Sie Daten erheben möchten. Trennen Sie beispielsweise die WLAN-Verbindung und senden Sie Daten an die Cloud.

  7. Verbinden Sie Ihr Smartphone wieder.

  8. Vergewissern Sie sich, dass Ihr Telefon erkannt wird, und führen Sie den folgenden Befehl aus:

    adb devices
    
  9. Führe den folgenden Befehl aus, um alle Akkudaten zu löschen. Das kann eine Weile dauern.

    adb shell dumpsys batterystats > [path/]batterystats.txt
    

    Die Datei batterystats.txt wird in dem Verzeichnis erstellt, das Sie mit dem optionalen Pfadargument angeben. Wenn Sie keinen Pfad angeben, wird die Datei im Basisverzeichnis erstellt.

  10. Einen Bericht aus Rohdaten erstellen

    Für Geräte mit Android 7.0 und höher:

    adb bugreport [path/]bugreport.zip

    Für Geräte mit Android 6.0 und niedriger:

    adb bugreport [path/]bugreport.txt

    Die Erstellung des Fehlerberichts kann einige Minuten dauern. Trennen Sie das Gerät nicht von der Verbindung und brechen Sie den Vorgang nicht ab, bis er abgeschlossen ist.

    Wie bei batterystats.txt werden diese Dateien in dem Verzeichnis erstellt, das Sie mit dem optionalen Argument path angeben. Wenn Sie keinen Pfad angeben, werden sie im Basisverzeichnis erstellt.

    Wenn er noch nicht ausgeführt wird, führen Sie „Akku Historian“ mit dem folgenden Befehl aus:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
    
  11. Wenn du deine Daten in „Akkuverlauf“ ansehen möchtest, öffne den Akkuverlauf in deinem Browser. Für Mac und Linux wird Battery Historian mit http://localhost:port_number ausgeführt. Unter Windows wird Battery Historian mit http://your_IP_address:port_number ausgeführt.

  12. Klicken Sie auf Durchsuchen und wählen Sie die von Ihnen erstellte Fehlerberichtsdatei aus.

  13. Klicken Sie auf Senden. Battery Historian öffnet ein Diagramm, das aus deinen Batterystats-Daten erstellt wurde.

Daten mit Diagrammen zur Akkuhistorie ansehen

Das Battery Historian-Diagramm stellt energierelevante Ereignisse im Zeitverlauf grafisch dar.

Jede Zeile zeigt ein farbiges Balkensegment, wenn eine Systemkomponente aktiv ist und somit Strom aus dem Akku abnimmt. Das Diagramm zeigt nicht, wie viel Akku die Komponente beansprucht, sondern nur, ob die App aktiv ist. Diagramme sind nach Kategorien organisiert und zeigen im Zeitverlauf für jede Kategorie einen Balken, wie auf der x-Achse des Diagramms dargestellt.

Beispiel für ein Diagramm des Akkuverlaufs
Abbildung 3: Beispiel für ein Diagramm „Akkuverlauf“.
  1. Fügen Sie zusätzliche Messwerte aus der Drop-down-Liste hinzu.
  2. Bewegen Sie den Mauszeiger auf den Namen des Messwerts, um weitere Informationen zu jedem Messwert aufzurufen, einschließlich eines Schlüssels für die im Diagramm verwendeten Farben.
  3. Halten Sie den Mauszeiger über einen Balken, um detailliertere Informationen zu diesem Messwert und die Akkustatistiken an einem bestimmten Punkt auf der Zeitleiste zu sehen.

Zusätzliche Ausgabe für Akkustats

Zusätzliche Informationen aus der Datei batterystats.txt finden Sie im Abschnitt „Statistiken“ nach dem Diagramm „Akkuverlauf“.

Der Abschnitt „Statistiken“ von „Akku Historian“
Abbildung 4: Im Abschnitt „Statistiken“ von „Akku Historian“.

Der Tab 1 Systemstatistiken enthält systemweite Statistiken, z. B. die Signalstärke und die Bildschirmhelligkeit. Diese Informationen vermitteln ein Gesamtbild dessen, was mit dem Gerät passiert. Dies ist besonders nützlich, um sicherzustellen, dass sich keine externen Ereignisse auf den Test auswirken.

Der Tab 2 App-Statistiken enthält Informationen zu bestimmten Apps. Sie können die Liste der Apps im Bereich App-Auswahl mithilfe der Drop-down-Liste 3 Apps sortieren nach sortieren. Mithilfe der Drop-down-Liste von 4 Apps können Sie eine bestimmte App auswählen, um sich Statistiken anzusehen.