Battery Historian github地址:https://github.com/google/battery-historian
本文介紹在mac/windows上搭建Battery Historian的基本環境,以及如何采集安卓電量數據,最后如何在Battery Historian上分析電量數據。
一、mac上搭建Battery Historian基本環境
1.安裝Docker
Docker for Mac 要求系統最低為 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 機型,準確說是帶 Intel MMU 虛擬化的,最低 4GB 內存。
手動下載Docker安裝包,可以通過這個鏈接下載:https://download.docker.com/mac/stable/Docker.dmg
同其他應用安裝一樣,將Docker圖標拖到Application中即可。
在應用中找到Docker圖標并點擊運行:
在右上角菜單欄看到多了一個鯨魚圖標,表明了 Docker正在運行。
點擊菜單欄的Docker圖標,可以彈出操作菜單。
在國內使用 Docker 的話,需要配置加速器,在菜單中點擊 Preferences...,然后查看 Deamon 標簽,在其中的 Registry mirrors 部分里可以點擊加號來添加加速器地址。
啟動終端后,通過命令可以檢查安裝后的 Docker 版本。
$ docker --version
Docker version 17.06.0-ce, build 02c1d87
2.啟動Battery Historian鏡像
很簡單
打開終端,執行一條指令即可:
docker run -p 9999:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
如果未曾運行過此 Docker 鏡像,將會自動下載此鏡像并安裝。前一個9999 端口指的是映射到本地端口,這意味著,當鏡像執行后,可通過127.0.0.1:9999訪問此鏡像。可以自行更改此端口。如果成功,將輸出如下信息:
2017/08/23 15:42:22 Listening on port: 9999
這時通過localhost:9999地址可以訪問到Battery Historian分析平臺。
二、windows上搭建Battery Historian基本環境
1.安裝Go編程語言
點擊下載go語言。
配置GOROOT、GOPATH、PATH環境變量。
檢查go是否安裝成功:
2.安裝git
點擊下載git。按照步驟安裝。
檢查git是否安裝成功:
3.安裝python
注意:一定要裝python2.7,不能是python3及以上版本~
點擊下載安裝python。按照步驟安裝。
配置環境變量,添加python安裝路徑到path中。
檢查python是否安裝成功:
4.安裝java
默認一般電腦上都是安裝java的,且java安裝教程太多了,可以隨意百度~~
5.下載battery historian及運行
(1)輸入命令行go get -d -u github.com/google/battery-historian/...
下載源碼到GOPATH配置目錄下
(2)進入到$GOPATH/src/github.com/google/battery-historian目錄下方
(3)運行Battery Historian
go run cmd/battery-historian/battery-historian.go
最后檢查/battery-historian是否運行,登錄網址 http://localhost:9999查看是否加載運行battery historian。
三、生成bugreport文件
將手機用USB連接PC,使用adb 命令清空歷史數據:
adb shell dumpsys batterystats --reset
拔出USB。
接下來,操作使用手機一樣,操作你想要統計的應用。耗電記錄器會在后臺統計整臺機子所有的耗電情況。
操作差不多之后,連接USB,執行adb bugreport命令:
adb bugreport > bugreport.txt
bugreport.txt 就是記載著整臺手機耗電信息的源數據。
遇到的坑:
在執行adb bugreport的時候報錯:
Failed to get bugreportz version, which is only available on devices running Android 7.0 or later.
這是因為使用的platform-tools版本為25導致的,可以換成低版本,如21。
四、Battery Historian分析電量數據
在Battery Historian分析平臺點擊choose a bugreport file,然后選擇生成的bugreport文件上傳。
也可以選擇前后兩個txt文件進行電量數據的對比: