Profil der Akkunutzung mit BatteryStats und Akkuhistorian
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Dokument werden die grundlegenden Einrichtungsschritte und der Workflow für das Tool Batterystats beschrieben.
und das Skript für Battery Historian. Hier erfahren Sie, wie Sie mit dem
Untersuchen Sie die Akkuverbrauchsmuster siehe Stromverbrauch mit Akku analysieren.
Historiker.
Batterystats ist ein im Android-Framework enthaltenes Tool, das
Daten auf deinem Gerät. Mit adb können Sie den
gesammelte Akkudaten an Ihr Entwicklungssystem senden und einen Bericht erstellen,
mit dem Battery Historian. Battery Historian konvertiert den Bericht von
Batterystats in eine HTML-Visualisierung um, die Sie in Ihrem Browser anzeigen können.
Batterystats und Battery Historian sind in folgenden Fällen nützlich:
Zeigt an, wo und wie Prozesse Strom aus dem Akku beziehen.
Aufgaben in Ihrer App identifizieren, die zur Verbesserung verschoben oder entfernt werden können
Akkulaufzeit.
Battery Historian installieren
Sie können Battery Historian mit Docker installieren. Für eine alternative Installation
einschließlich der Erstellung aus der Quelle, finden Sie
README im
auf der GitHub-Seite des Projekts. So installieren Sie Docker mithilfe von Docker:
Installieren Sie Docker, indem Sie der Anleitung auf der
Docker-Website Beliebig
subscription funktioniert,
einschließlich eines kostenlosen persönlichen Abonnements.
Um zu prüfen, ob Docker korrekt installiert ist, öffnen Sie die Befehlszeile und
geben Sie den folgenden Befehl ein:
docker run hello-world
Wenn Docker korrekt installiert ist, wird eine Ausgabe wie die folgende 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
Starten Sie die Docker Desktop-App, die ein GUI-Front-End für Docker ist, bevor
führen Sie das Battery Historian-Image aus. Dadurch wird der Docker initialisiert
Werkzeuge. Der Akkuverlauf wird erst gestartet, wenn Sie dies mindestens einmal getan haben.
Wenn Sie Battery Historian zum ersten Mal über die Befehlszeile ausführen,
. Sie können in der Docker Desktop-App keinen Port zum Ausführen des Webs angeben
Server aktiviert ist. Dies ist nur über die Befehlszeile möglich. Nachdem Sie
um den Container erfolgreich über die Befehlszeile auszuführen, wird im
Wenn Sie Docker Desktop aufrufen, können Sie es
über denselben Listener-Port starten,
über Docker Desktop.
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 Ihrer Wahl, wie anhand der
port_number
Gehe in deinem Browser zu Battery Historian, um zu prüfen, ob er ausgeführt wird. Die
Adresse variiert je nach Betriebssystem:
Für Linux und Mac
Der Akkuverlauf für
ist verfügbar unter
http://localhost:port_number
Für Windows
Nachdem Sie Docker gestartet haben, wird Ihnen die IP-Adresse der Maschine mitgeteilt,
verwendet. Lautet die IP-Adresse beispielsweise 123.456.78.90, ist
Historiker
http://123.456.78.90:port_number
Anschließend wird die Startseite von Battery Historian angezeigt, auf der Sie
Akkustatistiken anzeigen.
<ph type="x-smartling-placeholder"></ph>
Abbildung 1: Die Startseite für den Akku
Historiker.
Daten mit Batterystats erfassen
So kannst du mithilfe von BatteryStats Daten von deinem Gerät erfassen und im Akku öffnen
Historiker:
Schließen Sie Ihr Mobilgerät an den Computer an.
Fahren Sie in einem Terminalfenster den laufenden adb-Server herunter, indem Sie den
folgenden Befehl:
adb kill-server
Starten Sie adb neu und prüfen Sie, ob verbundene Geräte vorhanden sind, indem Sie Folgendes ausführen:
.
adb devices
Hier wird Ihr Gerät aufgelistet, ähnlich wie in der folgenden Beispielausgabe.
<ph type="x-smartling-placeholder"></ph>
Abbildung 2: Die Ausgabe von adb devices
Ein verbundenes Gerät wird angezeigt
Wenn keine Geräte aufgeführt werden, vergewissern Sie sich, dass Ihr Telefon angeschlossen ist und USB-
Debugging aktiviert ist, und dann
Beenden Sie adb und starten Sie es neu.
Setzen Sie die Akkudatensammlung zurück, indem Sie den folgenden Befehl ausführen:
adb shell dumpsys batterystats --reset
Das Gerät erhebt immer Batterystats und andere Debugging-Informationen
im Hintergrund. Durch das Zurücksetzen werden die vorherigen Daten zur Akkuerfassung gelöscht. Wenn Sie
nicht zurücksetzen, kann die Ausgabe sehr groß sein.
Trennen Sie Ihr Gerät vom Computer, damit Sie nur
des Akkus des Geräts.
Verwenden Sie Ihre App und führen Sie Aktionen aus, für die Sie Daten erheben möchten. Für
zum Beispiel die WLAN-Verbindung trennen und Daten in die Cloud senden.
Verbinden Sie Ihr Smartphone wieder.
Vergewissere dich, dass dein Smartphone erkannt wird, und führe den folgenden Befehl aus:
adb devices
Leeren Sie alle Akkudaten mit dem folgenden Befehl. Dies kann bis zu
.
Die Datei batterystats.txt wird in dem Verzeichnis erstellt, das Sie mit
das optionale Pfadargument. Wenn Sie keinen Pfad angeben, wird die Datei
die in Ihrem Basisverzeichnis erstellt wurden.
Erstellen Sie einen Bericht aus Rohdaten.
Geräte mit Android 7.0 und höher:
adb bugreport [path/]bugreport.zip
Geräte mit Android 6.0 und niedriger:
adb bugreport [path/]bugreport.txt
Die Erstellung des Fehlerberichts kann einige Minuten dauern. Trenne nicht die Verbindung zu deinem
Gerät an oder brechen Sie den Vorgang ab, bis er abgeschlossen ist.
Wie bei batterystats.txt werden diese Dateien in dem Verzeichnis erstellt,
mit dem optionalen Argument path angeben. Wenn Sie
keinen Pfad angeben, werden sie in Ihrem Basisverzeichnis erstellt.
Wenn er noch nicht ausgeführt wird, starten Sie den Battery Historian mithilfe der folgenden Schritte:
Befehl:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
Wenn Sie Ihre Daten im Battery Historian sehen möchten, öffnen Sie den Battery Historian in der
Browser. Für Mac und Linux läuft Battery Historian unter
http://localhost:port_number Für Windows, Akku
Historikerin
http://your_IP_address:port_number
Klicken Sie auf Durchsuchen und wählen Sie die von Ihnen erstellte Fehlerberichtsdatei aus.
Klicken Sie auf Senden. Der Akkuverlauf öffnet ein Diagramm,
BatteryStats-Daten
Daten in Akkuverlaufsdiagrammen ansehen
Im Battery Historian-Diagramm werden die für die Stromversorgung relevanten Ereignisse im Zeitverlauf grafisch dargestellt.
Jede Zeile zeigt ein farbiges Balkensegment, wenn eine Systemkomponente aktiv ist und somit
Strom von der Batterie beziehen. Im Diagramm wird nicht angezeigt, wie viel Akkukapazität
von der Komponente verwendet wird – nur, ob die App aktiv ist Diagramme sind nach
Kategorie, also eine Leiste für jede Kategorie im Zeitverlauf, wie auf der
x-Achse des Diagramms an.
<ph type="x-smartling-placeholder"></ph>
Abbildung 3: Beispiel eines Battery Historikers
Diagramm.
Fügen Sie weitere Messwerte aus der Drop-down-Liste hinzu.
Bewegen Sie den Mauszeiger auf den Namen des Messwerts, um weitere Informationen
jeden Messwert, einschließlich eines Schlüssels für die im Diagramm verwendeten Farben.
Halte den Mauszeiger über einen Balken, um weitere Informationen dazu zu sehen
und die Akkustatistiken an einem bestimmten Punkt auf der Zeitachse.
Zusätzliche BatteryStats-Ausgabe
Weitere Informationen aus der Datei batterystats.txt finden Sie in der
nach dem „Akkuverlauf“-Diagramm ein.
<ph type="x-smartling-placeholder"></ph>
Abbildung 4: Der Bereich „Statistiken“ unter „Akku“
Historiker.
Der Tab 1Systemstatistiken enthält systemweite
wie die Signalstärke des Mobilfunkanbieters und die Bildschirmhelligkeit. Diese Informationen
Sie erhalten einen Gesamteindruck davon, was auf dem Gerät passiert. Dies ist
Dies ist besonders nützlich, um sicherzustellen,
dass keine externen Ereignisse den Test beeinträchtigen.
Der Tab 2App-Statistiken enthält Informationen zu
für bestimmte Apps. Sortieren Sie die Liste der Apps mithilfe der 3
Drop-down-Liste Apps sortieren nach im Bereich App-Auswahl. Ich
eine bestimmte App auswählen, um Statistiken zur Verwendung der
4 Apps aus der Drop-down-Liste.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Profile battery usage with Batterystats and Battery Historian\n\n| **Warning:** Battery Historian is no longer actively maintained; if possible, consider using [system tracing](/topic/performance/tracing), the [Macrobenchmark power metric](/topic/performance/benchmarking/macrobenchmark-metrics#power), or the [Power Profiler](/studio/profile/power-profiler) to get insights into battery performance.\n\nThis document shows the basic setup steps and workflow for the Batterystats tool\nand the Battery Historian script. To learn how to use Battery Historian to\ninspect battery consumption patterns, see [Analyze power use with Battery\nHistorian](/topic/performance/power/battery-historian).\n\nBatterystats is a tool included in the Android framework that collects battery\ndata on your device. You can use [`adb`](/studio/command-line/adb) to dump the\ncollected battery data to your development machine and create a report you can\nanalyze using Battery Historian. Battery Historian converts the report from\nBatterystats into an HTML visualization that you can view in your browser.\n\nBatterystats and Battery Historian are useful for the following:\n\n- Showing you where and how processes are drawing current from the battery.\n- Identifying tasks in your app that can be deferred or removed to improve battery life.\n\n| **Note:** To use Batterystats and Battery Historian, you need a mobile device with [USB debugging](/studio/debug/dev-options) enabled.\n\nInstall Battery Historian\n-------------------------\n\nYou can use Docker to install Battery Historian. For alternative installation\nmethods, including building from source, see the\n[README](https://github.com/google/battery-historian) on the\nproject's GitHub page. To install using Docker, do the following:\n\n1. Install Docker by following the instructions on the\n [Docker website](https://docs.docker.com/desktop). Any\n [subscription](https://docker.com/pricing) type works,\n including a free Personal subscription.\n\n2. To confirm Docker is correctly installed, open the command line and\n enter the following command:\n\n docker run hello-world\n\n If Docker is correctly installed, it displays an output like this: \n\n Unable to find image 'hello-world:latest' locally\n latest: Pulling from library/hello-world\n 78445dd45222: Pull complete\n Digest:\n sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7\n Status: Downloaded newer image for hello-world:latest\n\n Hello from Docker!\n This message shows that your installation appears to be working correctly.\n\n To generate this message, Docker took the following steps:\n 1. The Docker client contacted the Docker daemon.\n 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub.\n 3. The Docker daemon created a new container from that image which runs the\n executable that produces the output you are currently reading.\n 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal\n\n3. Launch the Docker Desktop app---which is a GUI frontend for Docker---before\n you run the Battery Historian image. Running this initializes the Docker\n tools. Battery Historian doesn't run until you do this at least once.\n\n4. Run Battery Historian from the command line when running it for the first\n time. The Docker Desktop app doesn't let you specify the port to run the web\n server on. You can only do this from the command line. However, after you\n successfully run the container from the command line, an entry is created in\n Docker Desktop, and then you can launch it using the same listener port\n from Docker Desktop.\n\n5. Run the Battery Historian image using the following command:\n\n ```\n docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999\n ```\n\n Battery Historian uses the port of your choice, as specified using\n \u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n | **Note:** If you're using a Windows machine, you might need to enable virtualization in your BIOS. Check the documentation for your motherboard for more information about how to enable virtualization. If you can run the [Android Emulator](/studio/run/emulator), then virtualization is already enabled.\n6. Navigate to Battery Historian in your browser to confirm it's running. The\n address varies depending on your operating system:\n\n For Linux and Mac\n : Battery Historian is available at\n `http://localhost:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n For Windows\n : After you start Docker, it tells you the IP address of the machine it\n is using. For example, if the IP address is 123.456.78.90, Battery\n Historian is available at\n `http://123.456.78.90:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n \u003cbr /\u003e\n\n It then displays the Battery Historian start page, where you can upload and\n view battery statistics.\n **Figure 1.** The start page for Battery Historian.\n\nGather data with Batterystats\n-----------------------------\n\nTo collect data from your device using Batterystats and open it in Battery\nHistorian, do the following:\n\n1. Connect your mobile device to your computer.\n\n2. From a Terminal window, shut down your running `adb` server by running the\n following command:\n\n adb kill-server\n\n3. Restart `adb` and check for connected devices by running the following\n command.\n\n adb devices\n\n It lists your device, similar to the following example output.\n **Figure 2.** The output of `adb devices`, showing one connected device\n\n If it doesn't list any devices, make sure your phone is connected and [USB\n debugging](/studio/debug/dev-options#Enable-debugging) is enabled, and then\n stop and restart `adb`.\n4. Reset battery data gathering by running the following command:\n\n adb shell dumpsys batterystats --reset\n\n The device is always collecting Batterystats and other debugging information\n in the background. Resetting erases previous battery collection data. If you\n don't reset, the output can be very large.\n5. Disconnect your device from your computer so that you are only drawing\n current from the device's battery.\n\n6. Use your app and perform actions for which you want to collect data for. For\n example, disconnect from Wi-Fi and send data to the cloud.\n\n7. Reconnect your phone.\n\n8. Make sure your phone is recognized and run the following command:\n\n adb devices\n\n9. Dump all battery data by running the following command. This can take a\n while.\n\n ```\n adb shell dumpsys batterystats \u003e [path/]batterystats.txt\n ```\n\n The `batterystats.txt` file is created in the directory you specify using\n the optional path argument. If you don't specify a path, the file is\n created in your home directory.\n10. Create a report from raw data.\n\n For devices running Android 7.0 and higher:\n :\n\n ```\n adb bugreport [path/]bugreport.zip\n ```\n\n For devices running Android 6.0 and lower:\n :\n\n ```\n adb bugreport [path/]bugreport.txt\n ```\n\n \u003cbr /\u003e\n\n Bugreport can take several minutes to complete. Don't disconnect your\n device or cancel the process until it's complete.\n\n As with `batterystats.txt`, these files are created in the directory you\n specify using the optional \u003cvar translate=\"no\"\u003epath\u003c/var\u003e argument. If you\n don't specify a path, they are created in your home directory.\n\n If it's not already running, run Battery Historian using the following\n command: \n\n ```\n docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999\n ```\n11. To view your data in Battery Historian, open the Battery Historian in your\n browser. For Mac and Linux, Battery Historian runs at\n `http://localhost:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e. For Windows, Battery\n Historian runs at\n `http://`\u003cvar translate=\"no\"\u003eyour_IP_address\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n12. Click **Browse** and then choose the bugreport file you created.\n\n13. Click **Submit**. Battery Historian opens a chart created from your\n Batterystats data.\n\nView data with Battery Historian charts\n---------------------------------------\n\nThe Battery Historian chart graphs power-relevant events over time.\n\nEach row shows a colored bar segment when a system component is active and thus\ndrawing current from the battery. The chart doesn't show how much battery is\nused by the component---only whether the app is active. Charts are organized by\ncategory, showing a bar for each category over time, as displayed on the\n*x*-axis of the chart.\n**Figure 3.** Example of a Battery Historian chart.\n\n1. Add additional metrics from the drop-down list.\n2. Hold the pointer over the metric name to see more information about each metric, including a key for the colors used in the chart.\n3. Hold the pointer over a bar to see more detailed information about that metric and the battery stats at a specific point on the timeline.\n\nAdditional Batterystats output\n------------------------------\n\nYou can view additional information from the `batterystats.txt` file in the\nstats section after the Battery Historian chart.\n**Figure 4.** The stats section of Battery Historian.\n\nThe 1 **System Stats** tab includes system-wide\nstatistics, such as cell signal levels and screen brightness. This information\nprovides an overall picture of what's happening with the device. This is\nespecially useful to make sure no external events are affecting your test.\n\nThe 2 **App Stats** tab includes information about\nspecific apps. Sort the list of apps using the 3\n**Sort apps by** drop-down list in the **App Selection** pane. You\ncan select a specific app to view stats for using the\n4 apps drop-down list."]]