В этом документе показаны основные этапы настройки и рабочий процесс для инструмента Batterystats и сценария Battery Historian. Чтобы узнать, как использовать Battery Historian для проверки структуры потребления батареи, см. раздел Анализ энергопотребления с помощью Battery Historian .
Batterystats — это инструмент, включенный в платформу Android, который собирает данные об аккумуляторе вашего устройства. Вы можете использовать adb
, чтобы загрузить собранные данные о батарее на вашу машину разработки и создать отчет, который вы можете проанализировать с помощью Battery Historian. Battery Historian преобразует отчет из Batterystats в HTML-визуализацию, которую вы можете просмотреть в своем браузере.
Batterystats и Battery Historian полезны для следующего:
- Показывает, где и как процессы потребляют ток от аккумулятора.
- Определение задач в вашем приложении, которые можно отложить или удалить, чтобы увеличить время автономной работы.
Установить архиватор батареи
Вы можете использовать Docker для установки Battery Historian. Альтернативные методы установки, включая сборку из исходного кода, см. в README на странице проекта GitHub. Чтобы установить с помощью Docker, выполните следующие действия:
Установите Docker, следуя инструкциям на сайте Docker . Подойдет любой тип подписки , включая бесплатную Персональную подписку.
Чтобы убедиться, что Docker установлен правильно, откройте командную строку и введите следующую команду:
docker run hello-world
Если Docker установлен правильно, он отображает такой вывод:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal
Запустите приложение Docker Desktop, которое представляет собой графический интерфейс для Docker, прежде чем запускать образ Battery Historian. При этом инициализируются инструменты Docker. Battery Historian не запустится, пока вы не сделаете это хотя бы один раз.
Запустите Battery Historian из командной строки при первом запуске. Приложение Docker Desktop не позволяет указать порт для запуска веб-сервера. Вы можете сделать это только из командной строки. Однако после успешного запуска контейнера из командной строки в Docker Desktop создается запись, и затем вы можете запустить его, используя тот же порт прослушивателя из Docker Desktop.
Запустите образ Battery Historian с помощью следующей команды:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
Battery Historian использует порт по вашему выбору, указанный с помощью
port_number
.Перейдите в Battery Historian в своем браузере, чтобы убедиться, что он работает. Адрес варьируется в зависимости от вашей операционной системы:
- Для Linux и Mac
- Battery Historian доступен по адресу
http://localhost: port_number
. - Для Windows
- После запуска Docker он сообщает вам IP-адрес компьютера, который он использует. Например, если IP-адрес — 123.456.78.90, Battery Historian доступен по адресу
http://123.456.78.90: port_number
.
Затем отображается стартовая страница Battery Historian, на которой вы можете загружать и просматривать статистику батареи.
Соберите данные с помощью Batterystats
Чтобы собрать данные с вашего устройства с помощью Batterystats и открыть их в Battery Historian, выполните следующие действия:
Подключите мобильное устройство к компьютеру.
В окне терминала закройте работающий сервер
adb
, выполнив следующую команду:adb kill-server
Перезапустите
adb
и проверьте наличие подключенных устройств, выполнив следующую команду.adb devices
В нем указано ваше устройство, как показано в следующем примере.
Если в списке нет никаких устройств, убедитесь, что ваш телефон подключен и включена отладка по USB , а затем остановите и перезапустите
adb
.Сбросьте сбор данных об аккумуляторе, выполнив следующую команду:
adb shell dumpsys batterystats --reset
Устройство всегда собирает данные о состоянии батареи и другую отладочную информацию в фоновом режиме. При сбросе стираются предыдущие данные сбора данных об аккумуляторе. Если вы не выполните сброс, результат может быть очень большим.
Отключите устройство от компьютера, чтобы получать ток только от аккумулятора устройства.
Используйте свое приложение и выполняйте действия, для которых вы хотите собрать данные. Например, отключиться от Wi-Fi и отправить данные в облако.
Переподключите телефон.
Убедитесь, что ваш телефон распознан, и выполните следующую команду:
adb devices
Сбросьте все данные батареи, выполнив следующую команду. Это может занять некоторое время.
adb shell dumpsys batterystats > [path/]batterystats.txt
Файл
batterystats.txt
создается в каталоге, указанном вами с помощью необязательного аргумента пути. Если вы не укажете путь, файл будет создан в вашем домашнем каталоге.Создайте отчет на основе необработанных данных.
- Для устройств под управлением Android 7.0 и выше:
adb bugreport [path/]bugreport.zip
- Для устройств под управлением Android 6.0 и более ранних версий:
adb bugreport [path/]bugreport.txt
Выполнение отчета об ошибках может занять несколько минут. Не отключайте устройство и не отменяйте процесс до его завершения.
Как и в случае с
batterystats.txt
, эти файлы создаются в каталоге, который вы указываете с помощью необязательного аргументаpath
. Если вы не укажете путь, они будут созданы в вашем домашнем каталоге.Если он еще не запущен, запустите Battery Historian с помощью следующей команды:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
Чтобы просмотреть данные в Battery Historian, откройте Battery Historian в браузере. Для Mac и Linux Battery Historian работает по адресу
http://localhost: port_number
. В Windows Battery Historian работает по адресуhttp:// your_IP_address : port_number
.Нажмите «Обзор» , а затем выберите созданный вами файл отчета об ошибке.
Нажмите «Отправить» . Battery Historian открывает диаграмму, созданную на основе ваших данных Batterystats.
Просмотр данных с помощью диаграмм Battery Historian
Диаграмма Battery Historian отображает события, связанные с питанием, с течением времени.
В каждой строке отображается цветной сегмент полосы, когда компонент системы активен и, таким образом, потребляет ток от аккумулятора. На диаграмме не показано, сколько батареи расходует компонент, а показано только, активно ли приложение. Диаграммы организованы по категориям, показывая полосу для каждой категории с течением времени, как показано на оси X диаграммы.
- Добавьте дополнительные показатели из раскрывающегося списка.
- Наведите указатель на имя показателя, чтобы просмотреть дополнительную информацию о каждом показателе, включая ключ к цветам, используемым на диаграмме.
- Наведите указатель на полосу, чтобы просмотреть более подробную информацию об этом показателе и статистике заряда батареи в определенный момент на временной шкале.
Дополнительный вывод Batterystats
Дополнительную информацию можно просмотреть из файла batterystats.txt
в разделе статистики после диаграммы Battery Historian.
Вкладка 1 «Статистика системы» содержит общесистемную статистику, такую как уровни сигнала сотовой связи и яркость экрана. Эта информация дает общую картину того, что происходит с устройством. Это особенно полезно, чтобы убедиться, что никакие внешние события не влияют на ваш тест.
Вкладка 2 «Статистика приложений» содержит информацию о конкретных приложениях. Отсортируйте список приложений с помощью раскрывающегося списка «3 Сортировать приложения по» на панели «Выбор приложений» . Вы можете выбрать конкретное приложение для просмотра статистики с помощью раскрывающегося списка из 4 приложений.