一种简单的方法是通过docker安装,现在讲的是通过源码安装的方法
export GOPATH=/opt/gopath
export GOBIN=$GOPATH/bin
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
注意要加GOPROXY,否则会出现类似
battery-historian imports
github.com/google/battery-historian/bugreportutils: module github.com/google/battery-historian/bugreportutils: Get “https://proxy.golang.org/github.com/google/battery-historian/bugreportutils/@v/list”: dial tcp 216.58.200.49:443: i/o timeout
的i/o timeout的错误
下载
先安装好go, java, git,方法略
然后
mkdir -p /opt/gopath/src/github.com/google/
cd /opt/gopath/src/github.com/google
git clone https://github.com/google/battery-historian
cd battery-historian/
问题1
go mod init
go mod tidy
注意,可能要先执行下go mod init及go mod tidy不然有可能会出现如下错误:
setup.go:30:2: no required module provides package github.com/google/battery-historian/bugreportutils: working directory is not part of a module
setup.go:31:2: no required module provides package github.com/google/battery-historian/historianutils: working directory is not part of a module
问题2
cd third_party/closure-library/
git reset --hard v20170409
cd -
执行上面三句,否则可能会出错:
/opt/gopath/src/github.com/google/battery-historian/third_party/closure-library/closure/goog/module/modulemanager_test.js:281: ERROR - Parse error. ‘}’ expected
/opt/gopath/src/github.com/google/battery-historian/third_party/closure-library/closure/goog/streams/full_test_cases.js:631: ERROR - Parse error. ‘(’ expected
编译安装
go run setup.go
执行
浏览器访问 http://localhost:9999/
不翻墙的方法
因为默认运行要访问外网,需要翻墙的,可以进一步修改,请根据以下的帖子进行修改
https://github.com/gusha915/no-ssr-battery-historian
及到网上找compiled/historian-optimized.js这个文件放到源码目录下
或者到这个我整合好的下载链接下载离线资源包,解压到相应目录就行
旧android的数据
旧版本的android可能battery-historian 2.0版本无法正常显示,可以用源码中的python工具来把.txt的日志转换成可示化的html再用浏览器打开
比如下面命令把txt转成html
./battery-historian/scripts/historian.py ~/download/bugreport.txt > ~/download/battery.html
作者:帅得不敢出门