測試電力相關問題

Android 9 (API 級別 28) 版本中的電源管理功能會影響在此版本執行的所有應用程式,無論應用程式是否指定此版本都會受到影響。請務必確認應用程式能在這類裝置上正常運作。

請在多種情況下測試應用程式的主要用途,瞭解各項電源管理功能之間的交互作用。如要開啟或關閉部分電源管理功能,可以使用 Android Debug Bridge (adb) 指令。

Android Debug Bridge (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