Android Akkuzustand mit adb prüfen

Die Android Debug Bridge (ADB) ist ein Werkzeug, um Befehle auf einem angeschlossenen Android-Gerät auszuführen. Sie ist Teil des Android SDK und befindet sich unter platform-tools im Android SDK Verzeichnis.

Den Installationsordner des Android SDK Verzeichnisses kann man sich in Android Studio mit der Funktion „Tools -> SDK Manager“ anzeigen lassen.

Android SDK Verzeichnis: /Users/michaeljentsch/Library/Android/sdk

Im Unterordner platform-tools befindet sich dann neben fastboot und sqlite3 auch der adb Befehl.

Um nun den Status der Batterie im Android Gerät abzurufen kann man Befehl adb shell dumpsys battery verwenden um einen detaillierten Statusbericht über den aktuellen Zustand des verbundenen Android Gerätes zu erhalten.

Beispiel 1: Android wird über USB am Computer aufgeladen

# Android wird über USB am Computer aufgeladen
adb shell dumpsys battery
Current Battery Service state:
  AC powered: false
  USB powered: true
  Wireless powered: false
  Max charging current: 500000
  Max charging voltage: 5000000
  Charge counter: 2668930
  status: 5
  health: 2
  present: true
  level: 100
  scale: 100
  voltage: 4285
  temperature: 260
  technology: Li-ion
  fastChargeStatus: false

In dem oben gezeigten Beispiel sieht man nun, dass der Akku 100% geladen ist und die Akku-Temperatur gerade 26°C beträgt. Der Akku wird aktuell über USB aufgeladen und das Ladegerät kann max 500mA liefern. Der Status des Li-ion Akkus ist 5 (BatteryManager.BATTERY_STATUS_FULL) und das Laden unterstützt kein „Fast Charging“.

Beispiel 2: Android Gerät wird nicht geladen (Akku wird entladen)

Mit der Wireless ADB Funktionalität über WiFi abgerufen

adb shell dumpsys battery
Current Battery Service state:
  AC powered: false
  USB powered: false
  Wireless powered: false
  Max charging current: 0
  Max charging voltage: 0
  Charge counter: 2537622
  status: 3
  health: 2
  present: true
  level: 100
  scale: 100
  voltage: 4269
  temperature: 252
  technology: Li-ion
  fastChargeStatus: false

Beispiel 3: Android Gerät wird mit einem USB Ladegerät aufgeladen

adb shell dumpsys battery
Current Battery Service state:
  AC powered: true
  USB powered: false
  Wireless powered: false
  Max charging current: 1500000
  Max charging voltage: 5000000
  Charge counter: 2524845
  status: 2
  health: 2
  present: true
  level: 100
  scale: 100
  voltage: 4113
  temperature: 257
  technology: Li-ion
  fastChargeStatus: false

Alle diese Werte kann man über adb auch manipulieren um bei der Entwicklung eine Android App z.B. einen anderen Lade-Status zu simulieren oder den Batterie-Level zu überschreiben. Eine gute Doku dazu findet man z.B. unter How to Mock Battery Level of Android Device.

Der adb Befehl „adb shell dumpsys battery“ funktioniert auch über die Wireless ADB Schnittstelle, bei der das Android Gerät nicht per USB an den Computer angeschlossen ist sondern eine WiFi Verbindung hergestellt wird. Weitere Details zur Wireless ADB Funktionalität kann man unter „Wireless Android Debug Bridge“ nachlesen.