在介绍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

最新文章

  1. HTML CSS SPRITE 工具
  2. Spark-1.5.1 on CDH-5.4.7
  3. OAuth2.0授权
  4. Zookeeper C API 指南三(回调函数)(转)
  5. get a new level 25 battle pet in about an hour
  6. Web服务器控件表
  7. C# 二叉堆
  8. UILabel+Create
  9. 用python开发简单ftp程序
  10. RxJava系列6(从微观角度解读RxJava源码)
  11. 【easy-】437. Path Sum III 二叉树任意起始区间和
  12. Java多线程 Socket使用
  13. iptables 分析(1)
  14. CF1109D Sasha and Interesting Fact from Graph Theory
  15. Log4J日志整合及配置详解
  16. ubuntu16.04安装最新版docker、docker-compose、docker-machine
  17. C# 实现拨号重连
  18. BZOJ5338 [TJOI2018] Xor 【可持久化Trie树】【dfs序】
  19. npm使用国内淘宝镜像的方法
  20. Spring之事务操作(注解)

热门文章

  1. (叉积,线段判交)HDU1086 You can Solve a Geometry Problem too
  2. console控制台的小问题
  3. Python之包
  4. 记一次给自己的本子更换一个SSD盘
  5. 剑指Offer_编程题_18
  6. 访问内网(https,udp)
  7. docker仓库harbor搭建
  8. Nginx自定义404页面并返回404状态码
  9. hadoop 开发环境搭建
  10. JDBC-C3P0