在介绍Battery historian之前首先来介绍一下
Android adb bugreport 工具,bugreport是什么,怎么用?
android系统想要成为一个功能完备,生态繁荣的操作系统,那就必须提供完整的应用开发环境。而在应用开发中,app程序的调试分析 是日常生产中进程会进行的工作。Android为了方便开发人员分析整个系统平台和某个app在运行一段时间之内的所有信息,专门开发了bugreport工具。这个工具使用起来十分简单,只要在终端执行(linux或者win):
即可生成bugreport文件。但是有一个问题是,这个生成的文件有的时候异常庞大,能够达到15M+,想一想对于一个txt文本格式的文件内容长度达到了15M+是一个什么概念,如果使用文本工具打开查看将是一个噩梦。因此Google针对android 5.0(api 21)以上的系统开发了一个叫做battery historian的分析工具,这个工具就是用来解析这个txt文本文件,然后使用web图形的形式展现出来,这样出来的效果更加人性化,更加可读。它的基本界面像下面这个样子:
Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具。
Battery historian是通过go语言编写的,需要Go环境,其中上面的historian.py脚本是python写的,所以需要python环境,如下部署:
步骤一:部署环境
一、首先安装Go编程语言
- 点击下载【下载】;
- 安装Go;
- 配置GOROOT和GOPATH
a. GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是GO的安装目 录
b.GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径
C.最后配置一下环境变量,把Go的bin目录放到path环境变量中
4. 检查Go是否安装成功,打开命令行输入Go version
二、安装Git
- 点击下载【下载】;
- 按照步骤安装;
- 安装完成检查:命令行输入git version
也可以直接打开git bash检查
三、安装Python
- 点击下载【下载】,注意仅支持python2.7
- 安装完成;
- 环境变量配置,添加Path的路径,是Python的安装路径
- 输入命令行 python –V(注意是大写V)检查是否安装成功
四、安装Java环境
- 点击下载【下载】;
- 完成安装。
五、下载Battery Historian源码并且运行
下载 battery-historian
go get -d -u github.com/google/battery-historian/...
下载失败,手动下载:https://github.com/google/battery-historian
编译时缺少包,下载 protobuf :https://github.com/google/protobuf 到
- 进入目录:G:\Go\workspace\src\github.com\google\battery-historian下
执行 go run setup.go
等待数分钟或者10分钟左右,如果仍然没有下载成功,可以手动下载,如下操作
下载【closure-library】和【closure-compiler】和【flot-axislabels】,解压放到GOROOT目录下
third_party文件夹下方的的closure-compiler和 closure-library和flot-axislabels文件夹 ../battery-
historian\third_party;如果没有均手动创建 -
$ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]
- 检查/battery-historian是否运行,登录网址 http://localhost:9999查看
不显示submit按钮
1. 手动更换。可以在浏览器加载http://localhost:9999 时按下F12 $('#upload-submit').show()
步骤二:数据获取
开始电量数据获取
1、进入cmd,链接手机,通过如下命令重置电量:
1). 重置电池统计信息:
adb shell dumpsys batterystats --reset
2). Wakelock analysis全部wakelock信息:
adb shell dumpsys batterystats --enable full-wake-history
2、 进入G:\Go\workspace\src\github.com\google\battery-historian\scripts目录下:
3、上面的操作相当于初始化操作,现在做一些测试,手动或者跑一些自动化的case都行。经过一段时间后,我们运行下面两
命令来将bugreport的信息保存到txt文档中,然后将txt文档转化为html文件。
4、操作完手机后输入如下命令,执行下面的命令,收集Battery数据:
adb bugreport > bugreport.txt
python historian.py -a bugreport.txt > battery.html
在文件夹G:\othertools\battery-historian-master\battery-historian-master\scripts下会多出两个文件
参考文献:http://www.cnblogs.com/jytian/p/5647798.html
http://www.07net01.com/2016/07/1611459.html