原理介绍:https://www.2cto.com/kf/201607/528696.html
所需环境:go 和 Python
Python2.7环境,mac osx自带了,没有必要安装,如果有缺失的相应去安装即可。
go环境配置参考:https://studygolang.com/articles/9418
下载Battery Historian
go get -d -u github.com/google/battery-historian/...
下载完成之后,进入到特定的目录(这里就看你配置的GOPATH下载到哪里了),获得必要的依赖然后运行battery historian服务
cd $GOPATH/src/github.com/google/battery-historian
# Compile Javascript files using the Closure compiler
go run setup.go
# Run Historian on your machine (make sure $PATH contains $GOBIN)
go run cmd/battery-historian/battery-historian.go
执行完这个操作后把这个控制台最小化就行。
这里需要注意下go run setup.go在执行过程中耗时更长,因为要下载一些js库,而且还是从google处下载。需要梯子,这个工具目前出现的所有问题基本都是由于被墙导致资源下载不完全导致。不过公司网自带梯子可以不用担心。
完成之后,在浏览器中输入 http://localhost:9999 就能访问界面了。
使用(新打开一个终端窗口):
1、重置adb(防止adb命令冲突占用之类的,这条可以忽略)
adb kill-server
adb start-server
2、重置电池数据、收集数据
#打开电池数据的获取
adb shell dumpsys batterystats --enable full-wake-history
#电池数据的重置
adb shell dumpsys batterystats --reset
#清除干扰的数据,清除历史日志
adb shell logcat -c
3、获取电量报告
把数据线拔掉,防止数据线造成充放电数据干扰。然后做测试,经过一段时间后,重新连接手机确认adb连上了,运行以下命令来将bugreport的信息保存到txt文件中。(至于这个报告叫什么随意了)
adb bugreport | tee 第一个测试报告.txt
(这里先记录一个可能产生的问题,执行完毕后会发现有一个zip文件和这个txt文件。我们需要用到的是这个zip文件。但据资料说这个方式只适用安卓7.0以上版本,目前我的测试手机都是用的7.0机型,据说6及其以下会有差别,还未实验。)
需要将zip文件上传到刚才的浏览器中。点击submit后会看到报告的分析界面。
报告的数据有很多,具体参数对应的参考:https://blog.csdn.net/liangxy2014/article/details/78311938#0-tsina-1-3552-397232819ff9a47a7b7e80a40613cfe1