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

Battery historian安装及使用的更多相关文章

  1. Docker安装使用battery historian

    apt-get insatll docker.io battery historian ubuntu下使用 首先要确保是google浏览器,然后用命令行 google-chrome --proxy-s ...

  2. Battery Historian for windows环境搭建

    Battery Historian for windows环境搭建 简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具. Batter ...

  3. 电量分析工具 Battery Historian 的配置及使用

    1.Building from source code(通过各种配置后从源码构建) 官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪. ps:以下均是参考官方及网友做的 copy https:/ ...

  4. docker+Battery Historian 环境搭建(电量分析)

    docker 安装(windows) 1.  下载 https://docs.docker.com/docker-for-windows/install/  和 安装和添加环境变量(...) 2. 安 ...

  5. 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况

    前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...

  6. Battery Historian之App耗电量测试

    一.Battery Historian测试所需环境:Go+Git+Python+Java+Battery Historian源码 下载Battery Historian源码并且运行的步骤如下: 1.打 ...

  7. Install Battery Historian

    1. Recommended extra packages for Trusty 14.04 $ sudo apt-get update $ sudo apt-get install \ linux- ...

  8. Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats & Battery Historian Walkthrough

    Batterystats & Battery Historian Walkthrough Working with Batterystats & Battery Historian B ...

  9. 通过 Battery Historian 工具分析 Android APP 耗电情况

    电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...

随机推荐

  1. thinkphp 攻略

    php框架     一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难, ...

  2. 如何重置mysql中的root密码

    方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...

  3. 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.17 问题

    详细报错如下 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.17 from http://maven ...

  4. Git(使用码云)

    使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的). 如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——码云(gitee.com) ...

  5. mysq存储金额的数值类型选择

    在之前得项目中用到了double,计算之后有很长得小数位,需要用算法去除,非常麻烦,以后推荐使用:decimal 这个是专门处理金额值的,Java 类型对应BigDecimal

  6. oracle杀掉连接

    相关sql --查看当前连接 select count(*) from v$process --数据库允许的最大连接数 select value from v$parameter where name ...

  7. Java入门系列

    包装类 基本数据类型之间的相互转换不是都可以制动转换的,而你强制转换又会出问题,比如String类型的转换为int类型的,那么jdk为了方便用户就提供了相应的包装类. 基本类型对应的包装类 创建一个包 ...

  8. bash test命令探秘

    shell 测试条件命令 http://blog.csdn.net/yangruibao/article/details/7427503 test 和 [ 命令 虽然 Linux 和 UNIX 的每个 ...

  9. [译]使用mediatR的notification来扩展的的应用

    原文 你不希望在controller里面出现任何领域知识 开发者经常有这样的疑问"这个代码应该放在哪呢?"应该使用仓储还是query类?.... 怎么去实现职责分离和单一职责呢? ...

  10. string赋值和操作

    string赋值 string s1; //默认构造函数,s1为空串 string s1(s2); //将s2初始化为s1的一个副本 string s3("value"); //将 ...