1. 程式人生 > >Android 電量分析之Battery Historian配置

Android 電量分析之Battery Historian配置

綜述

不知道是否記得,Google 2016 I/O上向人們展示的Battery Historian升級版(V2.0)。爽爽的。這裡介紹下個人在進行配置過程中的種種問題,同時也是一個分享問題的過程。

環境配置

這部分包括go/java/python/git的安裝與配置。注意下python要求2.7版本的,go在安裝的時候尤其要留意環境變數的配置(這裡以linux系統為例)

安裝go環境

詳細的go安裝步驟,可以參考Go Install。選擇正確的版本進行安裝。安裝成功之後參照如下配置環境變數
GOROOT是指安裝go的根目錄

export GOROOT=$HOME/go
export
PATH=$PATH:$GOROOT/bin

我也嘗試通過下載go的原始碼,解壓並配置環境變數;但最終混淆了了GOROOT/GOBIN/GOPATH這幾個環境變數。所以,我才用的是線上安裝。如下操作

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

通過線上方式安裝之後,還是要稍微配置一下環境變數。這裡的GOPATH是指稍後需要clone的battery historian的所在目錄;GOBIN就是固定的為$GOPATH/bin

export
GOPATH=$HOME/04_workspace/05_go_workspace export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN

完成之後在稍微測試下,如下圖所示
這裡寫圖片描述

安裝git/python/java

python就不多說了。Linux版本自帶,再次說明下,要2.7版本。對於java和git可以線上安裝。比較簡單,這裡不在描述

下載Battery Historian

直接通過下面的程式碼從github上下載。該過程可能回持續一段時間(視網路情況)

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

下載完成之後,進入到特定的目錄,獲得必要的依賴然後執行battery historian服務

$ cd $GOPATH/src/github.com/google/battery-historian

# Compile Javascript files using the Closure compiler
$ go run setup.go

# Run Historian on your machine (make sure $PATH contains $GOBIN)
$ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]

這裡需要注意下go run setup.go在執行過程中耗時更長,因為要下載一些js庫,而且還是從google處下載。需要梯子,當然也不要著急,go run setup.go主要是更新third_xxx目錄喜下的程式碼。可以通過這裡下載我的程式碼,然後通過比較軟體合併一下。
完成之後,在瀏覽器中輸入 http://localhost:9999 還不能即可訪問battery historian的服務;因為這是在天朝,各種牆啊。

Battery Historian常見問題

下載指令碼失敗

如果在執行go run setup.go時提示失敗,可以下載博主的,然後通過合併軟體比對一下,點選這裡下載(baidu link)

battery Historian無法載入問題

這基本上可以確定是由於牆引起的的;由於battery historian需要訪問一一些公共的前端庫,而這些庫預設又是訪問google的;解決方案有兩個
1. 手動更換。可以在瀏覽器載入http://localhost:9999 時按下F12 選擇 Console檢視有那些資源沒有載入成功,然後在go程式碼裡面搜到(github.com/google/battery-historian/ 目錄下)然後替換成國內的,比如新浪的 lib.sinaapp.com
2. 使用瀏覽器外掛,自動替換,參考 ReplaceGoogleCDN

submit按鈕不顯示

提交按鈕不顯示,沒有提交按鈕。這個問題本質上也是由於js沒有夾雜成功引起的。博主也被右側的Submit困惑了好久,好久,最宗原來是js指令碼載入的問題。。
這裡寫圖片描述
鑑於最近很多小夥伴一直在諮詢如何處理submit按鈕不顯示問題;其實這裡有說明,只是不太明顯。不顯示submit按鈕的本質是web某些資源沒有加載出來,為什麼沒有加載出來,這是因為其中的一些資源貌似被牆了。只要解決了牆的問題,submit俺就的問題也就迎刃而解了。
最簡單的解決submit 按鈕不顯示的方法

  • 想辦法翻f***k牆
  • 想辦法將無法載入的資源替換為可以載入的資源(參考 ReplaceGoogleCDN

最終效果圖

這裡寫圖片描述