说干就干!
所有操作均在 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 只支持 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 语言
-
安装
-
配置环境变量
-
检查是否安装成功: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 环境
- 别跟我说你没有 …
(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