전력 관련 문제 테스트

Android 9(API 수준 28)에서 출시된 전력 관리 기능은 앱이 이 버전을 타겟팅하는지와 관계없이 이 버전에서 실행되는 모든 앱에 영향을 줍니다. 이 기기에서 앱이 제대로 작동하는지 확인하는 것이 중요합니다.

다양한 조건에서 앱의 기본 사용 사례를 테스트하여 전력 관리 기능이 서로 어떻게 작용하는지 확인하세요. 어떤 기능을 사용 또는 사용 중지하려면 Android 디버그 브리지(adb) 명령어를 사용하면 됩니다.

Android 디버그 브리지(adb) 명령어

adb 셸 명령어를 사용하여 전력 관리 기능을 테스트할 수 있습니다.

adb를 사용하여 기기를 잠자기 모드로 전환하는 방법에 관한 자세한 내용은 잠자기 및 앱 대기 모드로 테스트를 참고하세요.

앱 대기 버킷

adb를 사용하여 앱 대기 버킷에 앱을 수동으로 할당할 수 있습니다. 앱의 버킷을 변경하려면 먼저 다음 명령어를 사용하여 기기 연결 해제를 시뮬레이션합니다.

$ adb shell dumpsys battery unplug

다음 명령어를 사용하여 앱을 대기 버킷에 할당합니다.

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

위의 명령어를 사용하여 한 번에 여러 패키지를 설정할 수도 있습니다.

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

앱이 속한 버킷을 확인하려면 다음을 실행합니다.

$ adb shell am get-standby-bucket packagename

packagename 매개변수를 전달하지 않으면 모든 앱의 버킷이 나열됩니다. 앱은 새 메서드인 UsageStatsManager.getAppStandbyBucket()을 호출하여 런타임에 버킷을 찾을 수도 있습니다.

백그라운드 제한

백그라운드 제한을 수동으로 적용하려면 다음 명령어를 실행하세요.

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore

백그라운드 제한을 제거하려면 다음 명령어를 실행합니다.

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow

절전 모드

저전력 조건 하에서 앱이 어떻게 동작하는지 테스트하기 위한 여러 명령어가 있습니다.

기기의 연결 해제를 시뮬레이션하려면 다음 명령어를 사용하세요.

$ adb shell dumpsys battery unplug

저전력 상태에서 기기가 작동하는 방식을 테스트하려면 다음 명령어를 사용합니다.

$ adb shell settings put global low_power 1

테스트를 마친 후 다음 명령어를 사용하여 수동 기기 설정을 실행취소할 수 있습니다.

$ adb shell dumpsys battery reset