关于Android Battery Historain的配置,相关的文章有不少,可是在我自己配置Battery Historain道路上,可谓是相当坎坷。最终还是说服自己,每个人的境遇不一样,每个人的在这条道路上遇到的问题也不一样,无需多言。
我开始的时候,是按照 Battery Historain 官方说明 进行配置的(毕竟是权威,通常我是这么干的),安装Docker,然后安装Go,和配置Go的语言环境。但是在我安装完Docker运行官方说的命令:
docker -- run -p <port>:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
就直接报错了,一开始怀疑是自己姿势有问题,辗转一整子后发现,google这个命令有bug ... 罢了罢了。
经过一番尝试之后,自己放弃了官方的做法,选择了下面的配置思路。
1. 下载go
直接下go的安装包.
下载安装包的好处是方便自定义自己的工作目录(创建文件夹等不用输入sudo),而不是使用go的安装目录。解压上面下载的.gz,将解压出来的go文件夹放到你自己舒服的目录下面。
2. 配置go环境
在配置环境之前需要说清一个问题(非常重要,很多相关文章没有说清楚)
GOROOT:表示go语言指令运行的基础环境变量
GOPATH:表示我们自己的工作路径(workspace),是建立在GOROOT根目录之下,
如果你在.bash.profile中没有配置,后续在运行命令的时候会报错
下面是我在.bash_profile中的Go环境配置截图:
测试go
在终端输入go, 如下图
ok,你的go已经安装和配置成功!!
3.安装Battery Historain2
按顺序执行下面命令
go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/google/battery-histrizan
我在运行:go get -u github.com/google/battery-histrizan指令的时候抛出下面的error log
remote: Repository not found.
fatal: repository 'https://github.com/google/battery-histrizan/' not found
如图:
解决方案是直接下载Battery Historain源码.
先cd到workspace/src/github.com/google (补充说明:workspace是我自定义的工作目录)
源码下载完成之后,cd进入battery-historian目录执行
go run setup.go
如图:
继续执行最后一条go指令(注意:你每次都需要cd到battery-historian目录来执行这条指令,因为这是一个go脚本):
go run cmd/battery-historian/battery-historian.go
主要是设置prot,成功后显示
Listening on port:9999
这时候我们就可以在浏览器中输入http://localhost:9999
在浏览器中打开后的页面如下图:
至此,我们配置Android Battery Historain就大功告成了。大家按照我上面的步骤执行下来,目前应该不会碰到什么坑。当然未来google对工具的改进一定会导致一些配置上的变化,那时候就不得而知了。
参考资料:
https://github.com/google/battery-historian
https://www.jianshu.com/p/5f48827870de