Battery Historian2.0 配置及遇坑

Battery Historian是App电量调优的工具,最近安装了这个工具,在安装过程中,不断遇坑,最后总算是坑里跳了出来,我们一步一步来看安装Battery Historian到底需要注意些什么?

一、环境配置

官网地址:https://github.com/google/battery-historian

相关博客:https://www.jianshu.com/p/378cf678bdeb

我贴了两个网址,一个是官网的,一个是某博主翻译后的,内容基本差不多哦。

安装Battery Historian有两种方式:Docker和自己编译,Docker的方式我没有用过,看过一些博客,都说Docker的方式有些问题,而且好像需要翻墙,所以我才用的是第二种方式,自己下载源码,自己编译执行。

使用非Docker的方式进行安装Battery Historian有这么几个条件:

  • Go环境
  • Python环境(2.7版本的)
  • Git
  • Java环境

Python,Git,Java都是无脑安装,记得添加环境变量即可。Go的环境安装其实也没有什么问题,但是有个地方需要注意,那就是GOROOTGOPATH的环境变量配置,因为不太了解,所以这里也让我头疼的一阵

GOROOT

GOROOT配置Go的安装路径,比如Go的安装路径是E:\Program Files\Go,那么配置环境变量的时候就配置这个值

GOPATH

GOPATH配置的是工程目录,比如Go的项目放在了F:\AllProjects\GoProjects,那么配置环境变量的时候就配置这个值,但是需要注意的是:我们需要在这个路径下创建src文件夹,所有的Go项目要放在src文件夹下

我的环境变量

项目路径

 下载Battery Historian

官方文档给的指令是

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

但是我这里执行报错,所以我直接使用

git clone https://github.com/google/battery-historian.git

将源码下载到了本地,注意:需要在src的文件夹下创建github.com/google文件夹,在google目录下执行上述的git clone指令

源码下载下来后,在battery-historian目录执行

go run setup.go

会报如下错误

 没有找到对应的包,原因是因为我们使用了git clone的方法下载的源码,如果我们使用官方的办法下载Battery Historian的话,这个三方包会被自动下载下来,所以我们手动下载protobuf这个三方库即可,我们在github.com这个目录下创建golang文件夹

进入golang目录后,执行

git clone https://github.com/golang/protobuf.git

 这样,protobuf就被下载下来了。我们继续在battery-historian目录中执行run命令,报了下面的错误

 也就是说,项目又用到了google.golang.org路径下的protobuf,但是我们没有这个路径,当然也不会有这个三方库,所以我们在和github.com同级的目录下,创建google.golang.org文件夹,在这个文件夹中下载这个库,(参考博客:go get 找不到 google.golang.org/protobuf 解决办法_xiliangXX的博客-CSDN博客

git clone https://e.coding.net/robinqiwei/googleprotobuf.git protobuf

下载成功后,我们还是在battery-historian目录下执行run命令,battery-historian会自动下载三个库,如图:

 当然,有可能由于网络问题,自动下载会失败,需要自己手动下载,参照这个文章去手动下载即可:https://www.jianshu.com/p/378cf678bdeb

 执行run操作后,依然报错,是因为closure-library版本有问题,我们需要回滚到指定版本,进入到battery-historian/third_party/closure-library目录中,执行

git reset --hard v20170409

完成之后,继续在battery-historian目录下执行run命令,结果如图

 至此,我们的battery-historian安装完成,开始运行batter-historian

二、运行Battery Historian

虽然安装完了,但是并不代表不存在问题了,我们继续踩坑

我们还是在battery-historian目录执行如下指令运行Battery Historian

go run cmd/battery-historian/battery-historian.go

结果如下,说明已经可以开始使用了

在浏览器中输入 localhost:9999就可以打开Battery Historian,但是我们点击Browse上传我们的电量数据包时,却没有反应,后面也没有submit按钮

 这是因为battery historian的源码中,访问了国外需要翻墙的网站(可以在浏览器中打开开发者工具查看),我们对此需要进行修改。先下载如下的库

git clone https://github.com/gusha915/no-ssr-battery-historian.git

1.将battery-historian/templete中的base.html替换为刚刚下载的base.html

2.将cdn文件夹放在batter-historian/third_party目录中

再次执行 go run cmd/battery-historian/battery-historian.go,彻底的OK了,如图

点击submit,结果如图

三、问题补充

今天突然想起来,在安装过程中遇到的其他的两个问题,记录一下

1.use of internal package... not allowed 

具体的错误我们记录,也没有截图,主要的报错信息如题,原因是引用内部包受限。就是github.com/golang/protobuf中的go文件调用了google.golang.org/protobuf/internal中的库,这样是不允许的,但是之后我也不记得改了什么(我记得什么也没改),然后就好了

2.no required module provides package

这个问题执行以下指令就好了

go env -w GO111MODULE=auto

这是我遇到问题最多的工具,感觉头发掉了一半~ 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
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调试模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值