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编程语言
- 点击下载【下载】;
- 安装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源码并且运行
go get -d -u github.com/google/battery-historian/...
下载失败,手动下载:https://github.com/google/battery-historian
- 进入目录:G:\Go\workspace\src\github.com\google\battery-historian下
执行 go run setup.go
- 编译时缺少包,下载 protobuf :https://github.com/google/protobuf 到
- 等待数分钟或者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按钮,手动更换。可以在浏览器加载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安装及使用的更多相关文章
- Docker安装使用battery historian
apt-get insatll docker.io battery historian ubuntu下使用 首先要确保是google浏览器,然后用命令行 google-chrome --proxy-s ...
- Battery Historian for windows环境搭建
Battery Historian for windows环境搭建 简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具. Batter ...
- 电量分析工具 Battery Historian 的配置及使用
1.Building from source code(通过各种配置后从源码构建) 官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪. ps:以下均是参考官方及网友做的 copy https:/ ...
- docker+Battery Historian 环境搭建(电量分析)
docker 安装(windows) 1. 下载 https://docs.docker.com/docker-for-windows/install/ 和 安装和添加环境变量(...) 2. 安 ...
- 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况
前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...
- Battery Historian之App耗电量测试
一.Battery Historian测试所需环境:Go+Git+Python+Java+Battery Historian源码 下载Battery Historian源码并且运行的步骤如下: 1.打 ...
- Install Battery Historian
1. Recommended extra packages for Trusty 14.04 $ sudo apt-get update $ sudo apt-get install \ linux- ...
- Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats & Battery Historian Walkthrough
Batterystats & Battery Historian Walkthrough Working with Batterystats & Battery Historian B ...
- 通过 Battery Historian 工具分析 Android APP 耗电情况
电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...
随机推荐
- (最大连续和/最大子段和) P1115 最大子段和 洛谷
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NN,表示了序列的长度. 第二行包含NN个绝对值不大于1000010000的整数A_iAi ...
- Flask简单学习
一:安装 直接 pip install Flask,就可以安装好了 二:hello world 编写一个hello.py # coding: utf- from flask import Flask ...
- POE 供电
受电设备(PD)和供电设备(PSE) 标准的五类网线有四对双绞线但是在10M BASE-T和100M BASE-T中只用到其中的两对.IEEE80 2.3af允许两种用法: 1.应用空闲脚供电时4.5 ...
- npx小工具
npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验. 举例:使用create-react-app创建一个react项目. 老方法: npm ...
- Windows server 2008 R2远程桌面3389端口号修改
修改 Windows 服务器默认远程端口 https://help.aliyun.com/document_detail/51644.html?spm=5176.doc51644.6.784.4iAH ...
- 本地服务器上挂载A目录到B目录
原因: 由于某个分区满了,切磁盘无法扩大分区空间,但是项目依赖该分区,需要继续像该分区存储文件,此时其他分区还有很大的空间,使用挂载的方式,在有空间的分区创建新目录,将新目录挂载到源目录下即可. 执行 ...
- C#设计模式(8)——外观模式
1.外观模式介绍 外观模式也被叫做门面模式,这种模式的作用是:隐藏系统的复杂性,并向客户端提供了一个可以访问系统的统一接口,这个统一的接口组合了子系统的多个接口.使用统一的接口使得子系统更容易被访问或 ...
- golang json序列化
结构体序列化 func main() { var j = js{ Name: "zhangsan", Age: 16, Sal: 1500.3, Intro: "aiha ...
- ACM-ICPC 2018 南京赛区网络预赛 C GDY(模拟)
https://nanti.jisuanke.com/t/30992 题意 把m张牌(牌上数字范围是1-13)放到栈里n个人,每个人首次从栈顶取5张牌,轮流取取完牌后,第1个人出他手里最小的牌,然后2 ...
- IDApython教程(五)
我们继续IDAPython让生活更美好序列,这一部分我们解决逆向工程师日常遇到的问题:提取执行的内嵌代码. 恶意软件会用各种方式存储内嵌可执行代码,有些恶意软件将内嵌代码加到文件附加段,包括PE资源区 ...