一、battery-historian安装
1.安装Go语言环境
下载安装包安装
新建Go项目路径GoProject
配置环境变量
GOBIN:D:\program\Go\bin
GOPATH:D:\program\Go\GoProject
GOROOT: D:\program\Go
PATH:%GOBIN%;%GOPATH%
检查Go语言安装情况
cmd中输入go version
2.安装git
下载安装包安装
配置环境变量
GIT:D:\prgram\Git\bin
PATH:D:\program\Git\bin
检查git安装情况
cmd中输入git version
3.安装python
下载安装包安装
配置环境变量
PATH:D:\program\python2.7.12
检查python安装情况
cmd中输入python可以进入python环境
4.安装java环境
5.下载Battery Historian源码并且运行
进入go项目下,git执行go get -d -u github.com/google/battery-historian/..
进入到$GOPATH/src/github.com/google/battery-historian目录下方,git执行go run setup.go
等待数分钟或者10分钟左右,如果仍然没有下载成功,可以手动下载,如下操作
**下载【closure-library】和【closure-compiler】和【flot-axislabels】,解压放到GOROOT目录下third_party文件夹下方的的closure-compiler和closure-library和flot-axislabels文件夹 ../battery-historian\third_party;如果没有均手动创建
运行battery-historian.go
go run cmd/battery-historian/battery-historian.go
检查/battery-historian是否运行,登录网址 http://localhost:9999查看
二、battery-historian使用
初始化android电池电量数据
adb shell dumpsys batterystats --enable full-wake-history
shell dumpsys batterystats –reset
获取电池电量文件
adb bugreport > bugreport.txt
failed to get bugreportz version解决办法:
下载低版本platform-tools
打开localhost:9999,将电池电量文件上传到Battery Historian
三、报表中各参数的意义
重要的参数:WiFi、wake_lock、conn、mobile_ratio(蜂窝信号)
battery_level
电量,可以看出电量的变化。比如图中的数据显示刚开始电量是100%,然后在第11秒-12秒中间的某个时刻降到了99%。
plugged
充电状态,这一栏显示是否进行了充电,以及充电的时间范围。例如上图反映了我们在第22s插入了数据线,然后一直持续了数据采集结束。
screen
屏幕是否点亮,这一点可以考虑到睡眠状态和点亮状态下电量的使用信息。
top
该栏显示当前时刻哪个app处于最上层,就是当前手机运行的app,用来判断某个app对手机电量的影响,这样也能判断出该app的耗电量信息。该栏记录了应用在某一个时刻启动,以及运行的时间,这对我们比对不同应用对性能的影响有很大的帮助。
wake_lock*
wake_lock 该属性是记录wake_lock模块的工作时间。是否有停止的时候等
running
界面的状态,主要判断是否处于idle的状态。用来判断无操作状态下电量的消耗。
wake_lock_in*
wake_lock有不同的组件,这个地方记录在某一个时刻,有哪些部件开始工作,以及工作的时间。
Sync
是否跟后台同步.
可以把鼠标停在某一项上面。可以看到何时sync同步 启动的,持续时间Duration多久。电池容量不会显示单一行为消耗的具体电量,这里只能显示使用电池的频率和时长,你可以看分时段的剩余电量来了解具体消耗了多少电量。
APP selection
可查看某个应用的数据,如UID、CPU使用情况、相机调起次数等。