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.
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.