电量分析工具 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 语言

(2)安装 Python

  • 下载:https://www.python.org/ 【注意仅支持 python 2.7,python3.0改变很大】

  • 安装

  • 配置环境变量
    这里写图片描述

  • 检查是否安装成功:cmd 执行 “python –V”【注意是大写V】
    这里写图片描述

(3)安装Git

(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 文件夹,如果没有均手动创建。
这里写图片描述

二、使用

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值