Probleme mit der Stromversorgung testen

Die in Android 9 (API-Level 28) veröffentlichten Energieverwaltungsfunktionen wirken sich auf alle Apps aus, die auf dieser Version ausgeführt werden, unabhängig davon, ob die Apps auf diese Version ausgerichtet sind. Es ist wichtig, dass deine App auf diesen Geräten ordnungsgemäß funktioniert.

Testen Sie die Hauptanwendungsfälle Ihrer App unter verschiedenen Bedingungen, um zu sehen, wie die Funktionen der Energieverwaltung miteinander interagieren. Mit Android Debug Bridge-Befehlen (adb) können Sie einige Funktionen aktivieren oder deaktivieren.

ADB-Befehle (Android Debug Bridge)

Sie können mit adb-Shell-Befehlen mehrere Funktionen der Energieverwaltung testen.

Informationen dazu, wie Sie adb verwenden, um Ihr Gerät in den Stromsparmodus zu versetzen, finden Sie unter Mit Stromsparmodus und App-Standby testen.

App-Standby-Buckets

Sie können adb verwenden, um Ihre App manuell einem App-Standby-Bucket zuzuweisen. Wenn Sie den Bucket einer App ändern möchten, simulieren Sie zuerst mit dem folgenden Befehl, dass Sie das Gerät vom Stromnetz trennen:

$ adb shell dumpsys battery unplug

Verwenden Sie den folgenden Befehl, um die Anwendung einem Standby-Bucket zuzuweisen:

$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare

Sie können auch den vorherigen Befehl verwenden, um mehrere Pakete gleichzeitig festzulegen:

$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...

Führen Sie folgenden Befehl aus, um zu prüfen, in welchem Bucket sich eine Anwendung befindet:

$ adb shell am get-standby-bucket packagename

Wird kein packagename-Parameter übergeben, werden mit dem Befehl die Buckets für alle Anwendungen aufgelistet. Eine Anwendung kann ihren Bucket auch zur Laufzeit ermitteln, indem sie die neue Methode UsageStatsManager.getAppStandbyBucket() aufruft.

Hintergrundbeschränkungen

Führen Sie den folgenden Befehl aus, um Hintergrundeinschränkungen manuell anzuwenden:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore

Führen Sie den folgenden Befehl aus, um Hintergrundeinschränkungen zu entfernen:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow

Energiesparmodus

Es gibt mehrere Befehle, mit denen Sie testen können, wie sich Ihre App bei niedrigem Energieverbrauch verhält.

Verwenden Sie den folgenden Befehl, um zu simulieren, dass das Gerät vom Stromnetz getrennt wird:

$ adb shell dumpsys battery unplug

Verwenden Sie den folgenden Befehl, um zu testen, wie sich das Gerät bei niedrigem Energieverbrauch verhält:

$ adb shell settings put global low_power 1

Nach Abschluss des Tests können Sie Ihre manuellen Geräteeinstellungen mit dem folgenden Befehl rückgängig machen:

$ adb shell dumpsys battery reset