Android Performance: Battery Historian
Battery Historian可以用来查看Android设备电池相关的信息和事件,适用于Android 5.0和之后的版本。这个工具之前只是一个Python脚本,后来进行了大幅更新。
1. 下载和安装Battery Historian
Battery Historian需要安装Go、Git、Python 2.7和Java。
Go的安装步骤可以参考Battery Historian的README。需要注意的是GOPATH
和GOBIN
两个环境变量:GOPATH
指向Go的Workspace;GOBIN
指向GOPATH
下的bin
文件夹,且需要被加入到PATH
环境变量中,如:
export GOPATH=$HOME/work export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
然后下载Battery Historian:
$ go get -d -u github.com/google/battery-historian/...
安装:
$ cd $GOPATH/src/github.com/google/battery-historian $ go run setup.go
运行:
$ go run cmd/battery-historian/battery-historian.go
Battery Historian默认运行在9999端口,可以通过--port
手动指定其他端口:
$ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]
2. 获取bugreport
接下来要从设备中获取日志,首先杀掉adb server,排除可能存在的干扰:
$ adb kill-server
如果想要清除之前的电池用量记录,可以使用如下的命令:
$ adb shell dumpsys batterystats --reset
然后拔掉手机的数据线,停止充电,再操作应用一段时间。最后获取bugreport:
$ adb bugreport > bugreport.txt
3. 导入Battery Historian
在浏览器中打开http://localhost:9999(或者之前手动设定的其他端口),出现页面如图1所示。
点击Browse选择之前获取的bugreport,出现Submit按钮,点击提交。之后会出现如图2所示的页面。
之前的操作关闭了Wifi,使用数据网络浏览新闻,然后按下Home键返回。图表中的Top app对应用户可见的应用,点击可以查看具体应用的名称。Wifi on指示打开Wifi的时间,这里是空的,没有打开WiFi,Wifi scan一直在有规律地执行。Mobile radio active指示radio开启的时间,这里大部分时间都是开启的,对应浏览新闻的时间;之后返回Home,一段时间内没有再发生数据传输,radio关闭。
最上面有Historian V2和Historian两个选项卡,Historian对应了旧版本的图表,相关说明可以参考Battery Historian Charts,截止目前官方文档还没有更新Historian V2的相关说明。