电量分析工具 Battery Historian 的配置及使用
1、Building from source code(通过各种配置后从源码构建)
官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪。
ps:以下均是参考官方及网友做的 copy
https://github.com/google/battery-historian#building-from-source-code
http://blog.csdn.net/feitian_666/article/details/52756522
http://blog.csdn.net/feitian_666/article/details/52756522
(1)安装 Go 语言
安装
配置环境变量
- 检查是否安装成功:cmd 执行 “go version”
(2)安装 Python
- 下载:https://www.python.org/ 【注意仅支持 python 2.7,python3.0改变很大】
- 安装
配置环境变量
检查是否安装成功:cmd 执行 “python –V”【注意是大写V】
(3)安装Git
安装
检查是否安装成功:cmd 执行 “git version”
(4)安装 Java 环境(JDK)
- 别跟我说你没有 …
(5)下载 Battery Historian 源码并且运行
- cmd 执行“go get -d -u github.com/google/battery-historian/…”【注意最后有三个点】
- 进入到“$GOPATH/src/github.com/google/battery-historian”目录下方【GOPATH即上面配置的工作空间】
ps:我直接“cd $GOPATH/src/github.com/google/battery-historian”不行,耍了点小技巧,直接到指定目录下运行 cmd,又因为指定目录下有名为“cmd”的文件夹,只能分两步走:
最后发现,先在所在盘符启动cmd(我是D盘),然后直接 cd 路径就行:
运行 Battery Historian
cmd 执行“go run setup.go”【第一次执行要下载,时间会久一些,以后就快些】
cmd 执行“go run cmd/battery-historian/battery-historian.go”
ps:http://blog.csdn.net/feitian_666/article/details/52756522 提供了一个在没有下载成功情况下补充“go run setup.go”的方法:手动下载【closure-library】和【closure-compiler】和【flot-axislabels】,解压放到 GOROOT 目录下 third_party 文件夹下方的的 closure-compiler、closure-library 和flot-axislabels 文件夹,如果没有均手动创建。
- 登录网址 http://localhost:9999 查看是否运行
二、使用
1、运行 Battery Historian
在上面 Building from source code 均配置成功的情况下:
- 进入到“$GOPATH/src/github.com/google/battery-historian”目录下方
- cmd 执行“go run setup.go”
- cmd 执行“go run cmd/battery-historian/battery-historian.go”
2、导出手机的 Bugreport 文件:cmd执行“adb bugreport > bugreport.txt”
ps:这时如果有两个设备在线上,就会报错,应该可以指定某个设备生成的,懒一点,拔掉其它。只留下一个,ByTheWay,生成的待分析文件会有点大
3、上传 bugreport.txt 文件至 http://localhost:9999
特效篇:Android性能优化之电量篇 - http://hukai.me/android-performance-battery/
// 得到整个设备的电量消耗信息
$ adb shell dumpsys batterystats > xxx.txt
// 得到指定app相关的电量消耗信息
$ adb shell dumpsys batterystats > com.package.name > xxx.txt
// 通过Google编写的python脚本把数据信息转换成可读性更好的html文件
// https://github.com/google/battery-historian/blob/master/scripts/historian.py
$ python historian.py xxx.txt > xxx.html
参考文章:
https://github.com/google/battery-historian
http://blog.csdn.net/feitian_666/article/details/52756522
http://blog.csdn.net/feitian_666/article/details/52756522
文章转自:https://blog.csdn.net/zeqiao/article/details/77504477
电量分析工具 Battery Historian 的配置及使用的更多相关文章
- android 电量分析工具
.参考文章:https://developer.android.com/studio/profile/battery-historian.html 这篇文章讲的是如果dump 电量日子文件batter ...
- lnmp环境下piwiki网站流量分析工具的安装及配置
piwiki统计网站的安装 Piwik是一个PHP和MySQL的开放源代码的Web统计软件. 它给你一些关于你的网站的实用统计报告,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等- Piwi ...
- 通过 Battery Historian 工具分析 Android APP 耗电情况
电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...
- docker+Battery Historian 环境搭建(电量分析)
docker 安装(windows) 1. 下载 https://docs.docker.com/docker-for-windows/install/ 和 安装和添加环境变量(...) 2. 安 ...
- 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况
前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...
- Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats & Battery Historian Walkthrough
Batterystats & Battery Historian Walkthrough Working with Batterystats & Battery Historian B ...
- 如何在本地配置php分析工具xhprof
测试环境: linuxMint + nginx1.4.6+mysql5.5+php5.5 什么是xhprof? XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞时 ...
- 日志分析工具ELK配置详解
日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...
- MySQL慢日志查询全解析:从参数、配置到分析工具【转】
转自: MySQL慢日志查询全解析:从参数.配置到分析工具 - MySQL - DBAplus社群——围绕数据库.大数据.PaaS云,运维圈最专注围绕“数据”的学习交流和专业社群http://dbap ...
随机推荐
- js/jq基础(日常整理记录)-4-一个简单的自定义tree插件
一.一个简单的自定义tree插件 上一篇是之前自定义的table插件,这一篇也是之前同期尝试做的一个tree插件. 话不多说,先看看长什么样子哈! 现在来看确实不好看,以后在优化吧! 数据源:ajax ...
- 常用Linux命令:ls/cd/pwd/mkdir/rm/mv/cp
一.ls:列出目标目录中所有的子目录和文件 1.命令格式 ls [选项] [目录名] 2.常用参数 -a :列出目录下所有文件 -h :以容易理解的格式列出文件大小 -l :除了文件名之外,还将文件 ...
- 类的继承与super()的意义以即如何写一个正确的异常类
这些东西都是我看了许多名师课程和自己研究的成果,严禁转载,这里指出了如何正确的自己定义一个异常类并看一看sun写的java的源代码话题一:子类的构造器执行是否一定会伴随着父类的构造执行? 1.this ...
- C++: STL迭代器及迭代器失效问题
转载至:http://blog.csdn.net/wangshihui512/article/details/9791517 迭代器失效: 典型的迭代器失效. 首先对于vector而言,添加和删除操作 ...
- SQLServer存储引擎——02.内存
SQLServer存储引擎之内存篇: (1)SQL SERVER 内存结构 SQL SERVER 内存结构简图 SQL SERVER 内存空间主要可分为两部分: (1.1)可执行代码(E ...
- UINavigationController + UIScrollView组合,视图尺寸的设置探秘(二)
承接上文,我想把view布局修改为如下模式,让ScrollView长在NavigationBar的下方,这总不会有遮挡的问题了吧: story board内容如下,主要是右侧视图蓝色区域添加了Scro ...
- Iterator 遍历器
1.遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). 2.Iterator ...
- Java框架之spring 项目 附加之noteresult(status msg data uuid MD5)
1.1创建类 实体类 NoteResult<T> 注意<T> private int status; private String msg; private T dat ...
- loj #6077. 「2017 山东一轮集训 Day7」逆序对
#6077. 「2017 山东一轮集训 Day7」逆序对 题目描述 给定 n,k n, kn,k,请求出长度为 n nn 的逆序对数恰好为 k kk 的排列的个数.答案对 109+7 10 ^ 9 ...
- 「BZOJ1010」[HNOI2008] 玩具装箱toy(斜率优化)
P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为 1⋯N1\cdots N1⋯N ...