编译Battery-Historian源码踩坑记录.

难顶啊,为什么做个事情就不能顺顺利利的完成呢?
总有一些幺蛾子.

可能有小伙伴就好奇了,
明明我Docker已经整好了,为什么还弄自行编译的活呢?
话接上篇.

0.前言-Docker容器报错.


1. 配置环境&下载源码.

官方教程
需要的准备工作;

  • JAVA,配置好环境变量.
  • Python 2.7,配置好环境变量.注意一定要是2.7
  • Go,配置好环境变量(GOROOT,GOPATH).

OK,准备好了以后,安装官方教程.

Next, download the Battery Historian code and its dependencies:
$ go get -d -u github.com/google/battery-historian/…

下载失败
还是太年轻,我特么就知道事情不可能这么顺利.

搜索引擎,关键字走起.
于是我找到了这个:
https://github.com/golang/lint/issues/288

Go下载包失败
很相似对不对,只不过别人是下载golint,我是下载battery-historian.
然后我看到了这个:
解决办法
在GOPATH路径下面创建 /src/golang.org/x 路径,然后直接使用git clone下载.
那么我可用直接魔改一下 官方的这个下载 battery-historian的命令,改成
git clone https://github.com/google/battery-historian
修改命令下载
我特么不禁要为我自己的机智点个赞.点赞


2.运行battery-historian

运行失败
参考这个解决办法:
找不到protobuf
科学上网,
尝试过clone github官方的源码,但是发现会卡住.
使用这篇博客内的国内托管的地址,很顺利下载完.
在GOROOT的路径内创建文件夹,放进去,
再次运行go run setup.go
安装setup.go内的代码,下载3个依赖.
继续报错
下载的closure-library 报错…
直接手动clone吧.
closure-library地址


3.运行battery-historian

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

很顺利的运行起来了,默认端口是 9999.
打开浏览器输入localhost:9999
看到熟悉的页面,
选择文件bugreport.zip
emmm…还是选择文件不了,没有submit按钮.
报错信息
全局搜索 historian-optimized.js 没有.
打开battery-historian的主目录,打开 setup.go
historian-optimized.js
发现这个文件是output出来的,地址是在 battery-historian\compiled内,
打开historian-optimized.js搜索报错的关键字,
发现代码是:

d3.scaleOrdinal().domain([0,1,2,3,4])

而不是

d3.scale.ordinal().domain([0,1,2,3,4])

找了下d3这个库,然后找到V3和V4版本的差异.
D3 V3 与V4的变化
d3
果然就是d3的问题, 也就是

setup.go生成的historian-optimized.js是v4版本的,但是执行打开端口运行的battery-historian.go的是v3版本.2个版本不一致导致.

但是怎么解决这个问题呢?
直到我找到这个pull记录.
pull记录
pull记录
很好奇的是不知道为什么我最新clone下来的设置的还是V4.
按照这个pull的改动,找到这个base.html
将里面的4.9.1 -> 3.5.17
重新运行setup.go生成historian-optimized.js文件,再重新运行battery-historian.go

上传图片,终于有submit按钮了.

这真有你的啊,Google!
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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调试模式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值