Battery historian安装及使用

       在介绍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 1.0 通过python脚本转换成html文件,而新版本 Battery Historian 2.0 发布了,新版本带来了很多的改进:更清晰的报告,每个应用程序的摘要,更快的执行等等。

     Battery historian是通过go语言编写的,需要Go环境,其中上面的historian.py脚本是python写的,所以需要python环境,如下部署:

 

    步骤一:部署环境

    一、首先安装Go编程语言

  1. 点击下载【下载】;
  2. 安装Go;
  3. 配置GOROOT和GOPATH

       a. GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是GO的安装目               录

     

 

    b.GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径

     

 

        C.最后配置一下环境变量,把Go的bin目录放到path环境变量中

     

 

  4. 检查Go是否安装成功,打开命令行输入Go version

   

 

二、安装Git

  1. 点击下载【下载】;
  2. 按照步骤安装;
  3. 安装完成检查:命令行输入git version

   

   也可以直接打开git bash检查

   

 

 三、安装Python

  1. 点击下载【下载】,注意仅支持python2.7
  2. 安装完成;
  3. 环境变量配置,添加Path的路径,是Python的安装路径
  4. 输入命令行 python –V(注意是大写V)检查是否安装成功

     

 

四、安装Java环境

  1. 点击下载【下载】;
  2. 完成安装。

 

  五、下载Battery Historian源码并且运行

        go get -d -u github.com/google/battery-historian/... 

        下载失败,手动下载:https://github.com/google/battery-historian

  1. 进入目录:G:\Go\workspace\src\github.com\google\battery-historian下

    执行 go run setup.go

  2. 编译时缺少包,下载 protobuf  :https://github.com/google/protobuf  到

  3. 等待数分钟或者10分钟左右,如果仍然没有下载成功,可以手动下载,如下操作

    下载【closure-library】和【closure-compiler】和【flot-axislabels】,解压放到GOROOT目录下

    third_party文件夹下方的的closure-compiler和  closure-library和flot-axislabels文件夹 ../battery-

    historian\third_party;如果没有均手动创建

  4. $ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]

  5. 检查/battery-historian是否运行,登录网址 http://localhost:9999查看

         不显示submit按钮,手动更换。可以在浏览器加载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数据:


          To obtain a bug report from your development device running Android 7.0 and higher:


          $ adb bugreport bugreport.zip
adb shell dumpsys batterystats > com.package.name > xxx.txt //得到指定app相关的电量消耗信息

           For devices 6.0 and lower:


         $ adb bugreport > bugreport.txt

          在文件夹G:\othertools\battery-historian-master\battery-historian-master\scripts下会多出两个文件

         进入:http://localhost:9999  上传获取的压缩文件:

         

 

 

         参考文献:http://www.cnblogs.com/jytian/p/5647798.html

                       http://www.07net01.com/2016/07/1611459.html

posted @ 2017-03-23 10:20  你好and程序员  阅读(2155)  评论(0编辑  收藏  举报