上一篇博客给大家大体介绍了一下电量消耗的相关知识,这篇博客开始讲解如何利用Battery Historian工具来电量分析结果。注意:分析电量只针对Android5.0系统以上的app,5.0系统以下的app是无法进行分析的。
环境部署:
工具开源地址:https://github.com/google/battery-historian
根据github上面介绍,Battery History工具的安装有两种方式:
1. 通过安装Docker环境来安装。
Docker是一种容器,一般用于云计算和大数据平台。提倡的一种思想就是:软件即服务。这句话不是盖的,一句话就可以将别人发布的docker服务环境一次全部copy过来(注意是整个软件环境哦,相当于复制了一台一模一样的主机,连软件都不要安装了,全有了。彪悍吧!)
坑:Docker只支持Windows10
Image may be NSFW.
Clik here to view.
Github上面是这样的命令及地址:
docker -- run -p <port>:9999 gcr.io/android-battery-historian:2.1 --port 9999
这个里面的地址貌似不能用,然后找到了一个老外的镜像,是2.0版本的。
(镜像地址:blystad/battery-historian或者bhaavan/battery-historian)
命令:
docker -- run -p 6666:9999 blystad/battery-historian --port 9999
或者命令如下(上面这种是临时开辟的程序服务,下面是开启了一个单独系统服务更正规的服务。):
docker run -d -p 9999:9999 bhaavan/battery-historian
启动后输入网址:
2. 通过编译gitbub上面的源码来安装
一、GO环境安装:
1.下载
下载目录: https://golang.org/doc/install
https://golang.org/doc/install?download=go1.7.3.windows-amd64.msi
Image may be NSFW.
Clik here to view.
2.安装GO
Image may be NSFW.Clik here to view.

3. 配置GOROOT和GOPATH
a. GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是 GO的安装目录
Image may be NSFW.
Clik here to view.
b.GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径
Image may be NSFW.
Clik here to view.
c.最后配置一下环境变量,把Go的bin目录放到path环境变量中
Image may be NSFW.
Clik here to view.
4. 检查Go是否安装成功,打开命令行输入Go version
Image may be NSFW.
Clik here to view.
二、安装Git
1.点击下载【下载】; (https://git-scm.com/ )
2. 按照步骤安装;
3. 安装完成检查:命令行输入git version
Image may be NSFW.
Clik here to view.
也可以直接打开git bash检查
Image may be NSFW.Clik here to view.

三、安装Python
1. 点击下载【下载】,注意仅支持python2.7 (https://www.python.org/ )
2. 安装完成;
3. 环境变量配置,添加Path的路径,是Python的安装路径
Image may be NSFW.
Clik here to view.
4.输入命令行 python –V(注意是大写V)检查是否安装成功
Image may be NSFW.
Clik here to view.
四、安装Java环境(这就不多说了)
五、下载Battery Historian源码并且运行
1.输入命令行go get -d -u github.com/google/battery-historian/…
Image may be NSFW.
Clik here to view.
**下载到GOPATH配置目录下
2. 进入到$GOPATH/src/github.com/google/battery-historian目录下方
$ cd $GOPATH/src/github.com/google/battery-historian
Image may be NSFW.
Clik here to view.
3.运行Battery Historian
1) go run setup.go
# Compile Javascript files using the Closure compiler
$ go run setup.go
Image may be NSFW.
Clik here to view.
等待数分钟或者10分钟左右,如果仍然没有下载成功,可以手动下载,如下操作
**下载【closure-library】和【closure-compiler】和【flot-axislabels】,解压放到GOROOT目录下third_party文件夹下方的的closure-compiler和closure-library和flot-axislabels文件夹 ../battery-historian\third_party;如果没有均手动创建。
Image may be NSFW.
Clik here to view.
2)go run cmd/battery-historian/battery-historian.go
# Run Historian on your machine (make sure $PATH contains $GOBIN)
$ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]
4. 检查/battery-historian是否运行,登录网址 http://localhost:9999查看
六、导出手机的Bugreport日志
1.输入指令 adb bugreport > bugreport.txt导出。(具体使用方法下篇博客介绍)
七、上传bugreport.txt文件至 http://localhost:9999
1.上传bug日志
Image may be NSFW.
Clik here to view.
2.查看结果
Image may be NSFW.
Clik here to view.
参考资料:
https://github.com/google/battery-historian#wakelock-analysis
本篇博客参考众多博客,在这里一一指出就太多了,在此谢谢那些前辈们。