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

说干就干!

所有操作均在 Windows 7 64位 操作系统上进行 !
一、概念

Battery Historian:https://github.com/google/battery-historian
Battery Historian 是一个这样的的工具:可以在 Android 5.0 Lollipop(API 级别21)及更高版本的 Android 设备上检测与电池相关的信息和事件,而在此期间,该设备没有插上电源。它允许应用程序开发人员在时间轴上可视化系统和应用级别的事件,并使用平移和缩放功能,在设备最后一次完全充电之后,可以轻松地查看各种聚合统计信息,可以选择一个应用程序,检查所选择的应用程序对电池指标的影响。此外,它还允许对两个错误报告进行 A/B 比较,突出显示了关键电池相关指标的差异。
二、配置方法

Battery Historian 的运行需要很多环境的支持,要做很多配置,官网介绍了两个方法,一种是通过 Docker_百度百科 使用官网提供的已配置好的容器,另外一种就是老老实实自己配各种环境,第一种的Using Docker 看似较为简单,但有很多坑 …

1、Using Docker(通过 Docker 来间接使用 Battery Historian)

Docker:https://docs.docker.com/engine/installation/
你会惊奇地发现,Docker 只支持 Mac 和 Windows 10 ,哈哈,让你不用 Mac 开发:

这时又会发现,通过曲线救国 Windows 7 也是可以安装的:

http://blog.csdn.net/qq2712193/article/details/54576313 
http://blog.csdn.net/chenliguan/article/details/53454590

当但会有很多很多不同的坑等着你,搞了一晚上之后,我决定放弃了 …

2、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 语言

下载:https://golang.org/doc/install

安装

配置环境变量


检查是否安装成功:cmd 执行 “go version”

(2)安装 Python

下载:https://www.python.org/ 【注意仅支持 python 2.7,python3.0改变很大】
安装
配置环境变量 

检查是否安装成功:cmd 执行 “python –V”【注意是大写V】


(3)安装Git

下载:https://git-scm.com/

安装

检查是否安装成功:cmd 执行 “git version”


(4)安装 Java 环境

别跟我说你没有 …
(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  
1
2
3
4
5
6
7
8
参考文章: 
https://github.com/google/battery-historian 
http://blog.csdn.net/feitian_666/article/details/52756522 
http://blog.csdn.net/feitian_666/article/details/52756522
--------------------- 
作者:zeqiao 
来源:CSDN 
原文:https://blog.csdn.net/zeqiao/article/details/77504477 
版权声明:本文为博主原创文章,转载请附上博文链接!

展开阅读全文

没有更多推荐了,返回首页