【踩坑指南】安卓电量分析工具Battery Historian安装部署,保证100%成功

由于在安装使用Battery Historian的过程中遇到了很多坑,查阅了超多教程,最后总结成一个文档,以免以后再次安装的时候忘记了
ps.果然我又重新搭建了一次,又踩了一次坑,新添加了一些内容,保证100%搭建成功

环境搭建

  1. 安装python: https://www.python.org/

必须安装python2.7——如果系统中存在两个python版本,在环境变量中将2.7版本放在最上面

CMD中使用python -V查看当前使用版本

  1. 安装git

CMD中使用 git version查看当前使用版本

  1. 安装JAVA

CMD中使用 java version查看当前使用版本

  1. 安装go:https://golang.google.cn/dl/

安装1.11版本——进入主页后选择Download,然后点击Archived versions找到对应版本。

  • 版本过高——默认开启了mod模式,导致下载下来后的项目不在src目录里,如果选择关闭mod模式,在进行go get的时候又无法拉取到本地

  • 版本过低——在进行编译的时候会提示找不到某些内置的包

CMD中使用 go version查看当前使用版本

如果想要更改go的工作目录,直接在系统的环境变量中增加一个变量GOPATH,值为自定义的目录,如D:\go_workspace,后续的操作都是在该目录下完成

以上为Battery Historian的基础环境,完成后就可以进行代码的部署

没耐心可以直接跳转到最后,我会上传搭建好的项目压缩包

Battery Historian安装

一般教程都直接使用go最新版本采用以下命令来拉取项目

go get -d -u github.com/google/battery-historian/...

下载结束后发现,工作目录中src并没有项目,项目在pkg/mod中,因为在1.16版本中mod模式是自动开启的,会导致这个问题

但是如果直接关闭mod模式,命令执行后会提示ssl错误、timeout等等。 行不通,换条路子

在尝试了关闭1.16版本mod、换1.8版本(版本太低,提示缺包)、换1.11版本等等操作之后,都不行
在这里插入图片描述


~~~分割线~~~

以下是本人搭建的方法(参照教程https://www.tqwba.com/x_d/jishu/262524.html

  1. 将Battery Historian源码,放在路径GOPATH\src\github.com\google文件夹内

GOPATH表示的go的工作目录,在工作目录中按照以上给出的路径一层层创建,然后放入源码。
——
Battery Historian的源码可以以下任意一种:

  • 从GitHub上下载Battery-Historian-master.zip文件后解压,更改文件夹名称为Battery-Historian

  • 使用git clone https://github.com/google/battery-historian下载到本地

  • 开启mod模式使用go get -d -u github.com/google/battery-historian/...拉取到pkg/mod目录下,然后将其复制出来

最终得到的源码一定是名称为Battery-Historian的文件夹

  1. 运行Battery Historian
 #进入自己的工作目录,这里拿我的工作目录举个栗子
 cd D:\go_workspace\src\github.com\google\battery-historian (自己的workspace path)`
 #执行命令
 go run setup.go

此时会提示找不到protobuf

  1. 处理protobuf的问题

初始准备:获得protobuf文件夹

  • 开启mod模式使用go get -d -u github.com/google/battery-historian/...拉取到pkg/mod目录下

然后执行两个步骤:

非常重要,两个步骤缺一不可


  • GOPATH/src目录下新建目录名为google.golang.org,找到pkg/mod/google.golang.org目录下的protobuf@v1.26.0文件夹,将其复制出来,放到刚刚新建的目录下,重命名为protobuf
  • GOPATH/src/github.com下新建目录golang,找到pkg/mod/github.com/golang下的protobuf目录,复制到新建目录下。
  1. 下载依赖

(还是这两句命令)

#进入自己的工作目录,这里拿我的工作目录举个栗子
cd D:\go_workspace\src\github.com\google\battery-historian (自己的workspace path)`
#执行命令
go run setup.go

等待数分钟或者10分钟左右,如果仍然没有下载成功,可以手动下载:

分别下载【closure-library】(一定要是v20170409版本)和【closure-compiler】【flot-axislabels】,解压放到battery-historian目录下third_party文件夹下方的的closure-compiler和closure-library和flot-axislabels文件夹,需要手动创建;

在这里插入图片描述

  1. 执行battery historian
 #进入自己的工作目录,这里拿我的工作目录举个栗子
 cd D:\go_workspace\src\github.com\google\battery-historian (自己的workspace path)`
 #执行编译命令(第一次需要,后面不需要执行该条命令)
 go run setup.go
 #启动battery-historian ,默认端口9999
 go run cmd/battery-historian/battery-historian.go 

使用chrome登录网址http://localhost:9999查看是否运行,应当出现以下界面

在这里插入图片描述
6. 测试

导出一个bugreport进行测试

  • 收集电池的历史数据
    adb shell dumpsys batterystats --enable full-wake-history
  • 重置电池数据
    adb shell dumpsys batterystats --reset
  • 运行一段时间,导出adb bugreport (在C盘用户主目录中)
    adb bugreport > bugreport.txt

上传到网页后点击submit提交,

选择文件后才会出现submit按钮

可能碰到的问题没错,我都碰到了 ):

  • 没有submit按钮
  • 点击提交没反应
  • 网页反应很慢
  • 导入后报错Note: Could not parse aggregated battery stats.

在这里插入图片描述
使用开发者工具查看网页,发现在报错,表示很多js文件找不到,大概是墙的问题,参阅教程【https://blog.csdn.net/weixin_43559200/article/details/110648193?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242】对项目进行修改替换

解决办法:

首先下载压缩包https://github.com/gusha915/no-ssr-battery-historian

  • 将下载好的压缩包解压
  • 找到下载的base.html 文件替换原码中的base.html,路径:battery-historian\templates\base.html
  • 将下载好的名为cdn的目录放入到battery-historian\third_party路径下
  • cd $GOPATH/src/github.com/google/battery-historian
  • 运行 go run setup.go 进行编译
  • 运行 go run cmd/battery-historian/battery-historian.go

此时已解决项目运行找不到文件的问题(submit按钮不显示、点击提交无反应、运行缓慢的问题)

对于Note: Could not parse aggregated battery stats.这个问题,需要修改本地battery historian的源码,具体修改条目,参加以下教程:
https://github.com/lilydjwg/battery-historian/commit/a912fa0ee57a9dba00d8fd37a9516c0bc11751ed
修改1
修改2

修改结束后,重新启动项目,上传测试,成功!完结撒花~~
在这里插入图片描述
剩下的这个报错不影响使用,就没有处理了


打包好的项目

下载链接:https://pan.baidu.com/s/1Vr6JeadtEukW3NK6w9GM-A
提取码:gqio
部署方式:直接解压到D盘,配置GOPATH为D:\go_workspace即可

Battery Historian是一个用于分析Android设备电池使用情况的工具,下面是搭建方法: 1. 安装并配置Python环境:Battery Historian是基于Python开发的,首先需要安装Python环境。可以从Python官方网站下载最新版本的Python并进行安装,在安装过程中记得勾选"Add Python to PATH"选项。完成安装后,打开命令提示符窗口,输入"python --version"来确认Python是否安装成功,并且能够显示相应的版本号。 2. 下载Battery Historian代码:在Battery Historian的GitHub仓库中,找到并下载最新版本的代码。可以直接在浏览器中访问"https://github.com/google/battery-historian",然后点击"Clone or download"按钮进行下载。下载完成后,将代码解压到合适的目录中。 3. 安装必要的依赖库:在命令提示符窗口中切换到Battery Historian代码所在的目录,并使用pip install命令来安装必要的依赖库。例如,可以执行"pip install -r requirements.txt"命令来安装所有需要的依赖库。 4. 运行Battery Historian:在命令提示符窗口中切换到Battery Historian代码所在的目录,并执行"python historian.py"命令来启动Battery Historian。启动成功后,命令提示符窗口会显示"Running on"的信息,表示Battery Historian成功运行。此时,可以在浏览器中输入"http://localhost:9999"来访问Battery Historian的Web界面,并开始分析Android设备的电池使用情况。 以上就是使用Battery Historian的搭建方法。需要注意的是,Battery Historian只能分析Android设备的电池使用情况,因此在使用之前,需要将Android设备连接到电脑上,并确保设备已开启开发者选项,并开启USB调试模式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值