说干就干!

所有操作均在 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  

参考文章:
https://github.com/google/battery-historian
http://blog.csdn.net/feitian_666/article/details/52756522
http://blog.csdn.net/feitian_666/article/details/52756522

更多相关文章

  1. apk安装:adb push && adb install
  2. 使用Weditor(uiautomator2)替换uiautomatorviewer抓取Android控件
  3. 小白鼠初试ijkplayer编译(ubuntu)
  4. Android(安卓)studio版本控制之svn,git,github配置。
  5. delphi xe5 android iny绿色版+最新SDK/NDK安装方法
  6. Android(安卓)Debug Bridge 和Drozer安装使用教程
  7. Android(安卓)Studio安装教程及第一个HelloWorld程序
  8. android sdk 无法通过代理更新包
  9. 【Android(安卓)Developers Training】 78. 序言:执行网络操作

随机推荐

  1. Android底部菜单的封装及重用
  2. Android(安卓)UI 滚动、手势、速度的三个
  3. getView中经常出现position=0
  4. Android(安卓)开发架构——MVP(个人认为最
  5. 36、Android编写应用-为新设备添加模块
  6. Android之——史上最简单旋转菜单实现效
  7. Android多文件断点续传(一)——数据封装以
  8. Android实现简单的音乐播放
  9. android 自定义title样式
  10. 周末好去处!猿圈带你【2小时了解Android安