Battery Historain是谷歌開發的Android耗電量分析工具,其開發語言為go語言,因此,若安裝Battery Historain,首先需要配置go語言環境,本以為go語言與Battery Historain安裝是一件很簡單的事情,但事實卻是安裝程序舉步維艱,
這篇文章僅用來記錄Battery Historain安裝程序中遇到的問題和解決方法,為同樣做App耗電量相關的研究的其他同學提供一個參考,
- 安裝go
- 安裝Battery Historain
一、安裝go
首先安裝與配置go環境,
- 下載安裝go
- 配置go環境
- 驗證go
1.1、下載安裝go
直接到 官方下載go

1.2、配置go環境
windows10的同學建議按照默認路徑安裝!(安裝完成變數自動配好,重新打開終端即可)
Windows go 環境如下:

mac電腦 .bash_profile檔案中go環境配置如下:
go環境變數建議配置到.bash_profile檔案中,( 不了解.bash_profile檔案位置的同學,可參考文章:mac環境變數 )
# go
GOROOT=/usr/local/go
export GOROOT
export GOPATH=/Users/xiaxveliang/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN:$GOROOT/bin
相關引數說明:
- GOROOT:go的安裝目錄;
- GOPATH:go的作業路徑;
1.3、驗證go
配置完成環境變數后,驗證一下go的安裝是否正常,

二、安裝Battery Historain
Battery-Historian為谷歌開發的Android耗電量分析工具,其GitHub官方地址為:
Battery-Historian
2.1、下載go相關依賴包
下載go相關依賴包,運行以下命令:
go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
遇到 錯誤1:
如果網址不被和諧,相關依賴包應該會很快下載下來,
我在運行以上命令時,遇到了如下錯誤:
go get: module github.com/golang/protobuf/proto: Get "https://proxy.golang.org/github.com/golang/protobuf/proto/@v/list": dial tcp 172.217.27.145:443: i/o timeout

解決 錯誤1 :
遇到以上問題后,查了很多資料,網上大多評論為更換為國內的相關代理地址,
// 執行該命令,更換為國內代理地址
go env -w GOPROXY=https://goproxy.cn,direct

2.2、下載 battery-histrizan
go環境下載battery-histrizan,可執行如下命令:
go get -u github.com/google/battery-histrizan
遇到 錯誤2:
同樣如果相關網址不被和諧,battery-histrizan下載應該很順利,
我遇到的錯誤如下:
remote: Repository not found.
fatal: repository 'https://github.com/google/battery-histrizan/' not found

解決 錯誤2:
我的解決方案是:
- GitHub下載Battery-Historian:
Battery-Historian的GitHub地址為:
Battery-Historian
https://github.com/google/battery-historian - 將下載后的battery-historian,放到
go的作業目錄:
具體檔案路徑如下:C:\Users\86134\go\pkg\mod\github.com\google(這是帥子的目錄)

2.3、第一次執行 go run setup.go命令:(將setup.go中的20170407改為20190513)
執行go run setup.go命令:
// 進入battery-historian目錄
cd battery-historian
// 執行setup.go
go run setup.go
遇到 錯誤3:
執行以上命令程序中,又遇到了如下錯誤:

解決 錯誤3:
解決該問題,需要以下兩個步驟:
- go mod init
- go mod verify
2.3.1、go mod init example
首先運行如下命令,創建go.mod :
// 進入battery-historian的上一級目錄
cd ..
// go mod init創建go.mod
go mod init example

2.3.2、go mod verify
運行如下兩個命令,查找對應的依賴包:
go mod verify
go mod vendor

2.4、第二次執行 go run setup.go命令:
第二次執行 go run setup.go時,本以為看到了曙光,卻發現又在下載依賴包,而且完全下載不下來,
遇到 錯誤4:
依賴包下載不下來,

解決 錯誤4:
- 到GitHub下載:
https://github.com/google/closure-library/releases/tag/v20161201
注:這里特意下載2017年前包, - 下載后,解壓到
go的作業目錄:
具體檔案路徑如下:C:\Users\86134\go\pkg\mod\github.com\google\battery-historian\third_party 這里帥子給大家提供如下三個的包

2.5、執行 go run setup.go 成功
第三次執行 go run setup.go命令,終于成功,
// 安裝battery-historian
go run setup.go

2.6、啟動battery-historian.go
運行如下命令,啟動battery-historian.go:
// 啟動battery-historian.go
go run cmd/battery-historian/battery-historian.go

2.7、瀏覽器打開 http://localhost:9999/
打開瀏覽器,并打開以下網址:
http://localhost:9999/
注:這里有一個坑,打開該網址需VPN,否則頁面內容展示不全,或者打不開,
2.8、adb bugreport
最后,匯出bugreport檔案:
// Android 7.0(包含) 以上設備執行如下命令:
adb bugreport > bugreport.zip
// Android 6.0(包含) 以下設備執行如下命令:
adb bugreport > bugreport.txt
將匯出后的bugreport檔案上傳到:
http://localhost:9999/
三、免安裝方式
國內以上安裝方式太繁瑣了,主要是各種依賴包都下載不下來(昨天完搞了一下午沒搞定,后來搞到晚上一點Battery Historain才安裝完成,中途幾度想放棄),
偶然從網上看到一種極其簡的使用方式:
有人搭建了一個Battery Historain線上環境,相關網址 https://bathist.ef.lc/
將我們匯出的bugreport檔案,直接上傳到該網址,便可以完成相關bugreport檔案分析,

四、使用 Battery Historain
如何使用 Battery Historain,這一點最權威的當然是Google 官方:
使用 Battery Historian 分析耗電情況
https://developer.android.google.cn/topic/performance/power/battery-historian?hl=zh-cn
官方這里介紹的非常詳細,我不再詳細說明,
五、參考:
Mac上安裝Battery Historain遇到的問題:
https://blog.csdn.net/wei_ada/article/details/106127654
Mac配置Android Battery Historain 3.0:
https://www.jianshu.com/p/88a3cb0aee9e
Battery-Historian:
https://github.com/google/battery-historian
Battery Historian 分析電池用量:
https://developer.android.google.cn/topic/performance/power/setup-battery-historian?hl=zh-cn
=== THE END ===
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/297873.html
標籤:其他
下一篇:圖論模板 最短路+最小生成樹
