您好,登錄后才能下訂單哦!
Battery Historian
battery historian是一款用于檢測與電池有關的信息和事件的工具,運行在Android 5.0 Lollipop (API level 21)及其之后。它會生成一張具有時間坐標的圖紙,用戶可以查看各種事件耗電時間。
安裝
一、首先安裝Go編程語言
點擊下載【下載】;
安裝Go;
配置GOROOT和GOPATH
a. GOROOT的作用是告訴Go 命令和其他相關工具,在哪里去找到安裝在你系統上的Go包,所以這里配置的是GO的安裝目錄
b.GOPATH可以簡單理解為是工程的目錄,所以創建一個GO的工程路徑
C.最后配置一下環境變量,把Go的bin目錄放到path環境變量中
4. 檢查Go是否安裝成功,打開命令行輸入Go version
二、安裝Git
點擊下載【下載】;
按照步驟安裝;
安裝完成檢查:命令行輸入git version
也可以直接打開git bash檢查
三、安裝Python
點擊下載【下載】,注意僅支持python2.7
安裝完成;
環境變量配置,添加Path的路徑,是Python的安裝路徑
輸入命令行 python –V(注意是大寫V)檢查是否安裝成功
四、安裝Java環境
點擊下載【下載】;
完成安裝。
五、下載Battery Historian源碼并且運行
git目錄下點擊git-bash.exe,輸入命令行go get -d -u github.com/google/battery-historian/...
**下載到GOPATH配置目錄下
進入到$GOPATH/src/github.com/google/battery-historian目錄下方
運行Battery Historian
輸入 $ go run setup.go
# Compile Javascript files using the Closure compiler
等待數分鐘,如果仍然沒有下載成功,可以手動下載,如下操作
**下載【closure-library】和【closure-compiler】和【flot-axislabels】,解壓放到GOROOT目錄下third_party文件夾下方的的closure-compiler和closure-library和flot-axislabels文件夾 ../battery-historian\third_party;如果沒有均手動創建
b. go run cmd/battery-historian/battery-historian.go
# Run Historian on your machine (make sure $PATH contains $GOBIN)
$ go run cmd/battery-historian/battery-historian.go [--port <default:9999>]
檢查/battery-historian是否運行,登錄網址 http://localhost:9999查看
生成bugreport
一、數據準備
1.windows cmd下執行以下命令,開啟電池數據獲取
adb shell dumpsys batterystats --enable full-wake-history
2.windows cmd下執行以下命令,重置電池數據
adb shell dumpsys batterystats --reset
二、操作應用,生成bugreport
拔掉USB,然后對待測app進行相關操作,一段時間后,插上USB,運行一下兩條命令。
1.windows cmd下執行以下命令,將bugreport信息保存到相應路徑下,等待執行完畢
adb bugreport > bugreport.txt
2.windows cmd 下執行以下命令,將以上txt文檔轉化為html文件
python historian.py -a bugreport.txt >battery.html
注:現在不知道為什么會提示錯誤,找不到historian.py這個文件
上面的historian.py 就是用python寫的腳本,所以需要python環境,可以從github上下載,以上命令執行完后,會發現兩個文件,bugreport.txt和battery.html,這個時候用谷歌瀏覽器輸入http://localhost:9999,上傳bugreport.txt或者是直接打開battery.html就可以了,視圖如下:
以上是V2.0版的,你可以自己切換到1版,現在來分析下各個參數的意義:
Battery usage categories
Filtering batterystats output
Batterystats & Battery Historian Walkthrough
Systrace Walkthrough
The Battery Historian chart graphs power-relevant events over time.
Each row shows a colored bar segment when a system component is active and thus drawing current from the battery. The chart does not show how much battery was used by the component, only that the app was active. Charts are organized by category.
battery_level:
電量消耗速度等級,值是百分比,093就是93%
top:
收集電量數據時,系統中處于top的應用,如果你的應用是前臺的,請確保它是top的。除非你想知道你的應用在后臺時的電量消耗。
wifi_running:
wifi連接活躍時間。
screen:
屏幕點亮時間。
phone_in_call:
通話時間。
wake_lock:
注意,在表格中,它是代*的,它是最重要的參考。
通常應用的運行周期是啟動,運行一些作業,然后睡覺。啟動是最費資源的,如果在這行里出現多個小堅條,說明有問題。
running:
cpu運行時間。
wake_reason:
內核最后一次喚醒的原因。如果是由你的應用喚醒,請確定是否必要這么做。
mobile_radio:
無線電開啟的時間,開無線電非常耖電。這里出現密集的小堅條,說明有優化空間。
gps:
gps開啟的時間。
sync:
正在后臺同步的應用。
注意,上面的每行分類只是根據當前開啟的功能或服務,應用收集的數據。并不是每次都一樣,如wifi沒開,就不會有wifi相關的數據,gps沒開就沒有gps相關數據。
batterystats.txt 顯示的是全部數據。batterystats.html顯示的只是它分析時所需的數據。
Battery History
:
與電量相關行為的的歷史記錄。
Per-PID Stats
:
每個應用進程運行的時間。
Statistics since last charge
:
最近一次充電時系統參數的統計,如電池信號等級,屏幕亮度。
Estimated power use (mAh)
by UID and peripheral:
粗略統計電池的mAh。
Per-app mobile ms per packet
:
使用無線電設備傳輸數據的時間間隔。好的應用會以密集批量方式傳輸。
All partial wake locks
:
wakelocks的統計。
分析V1.0,可以參考http://blog.csdn.net/itfootball/article/details/44084159
最后我們還可以看到相關進程耗費的電量(估算值):
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。