文章目錄
一、Battery Historian 搭建環境
在上一篇博客 【Android 電量優化】電量優化 ( 耗電量測試 | Battery Historian 簡介 | apt 源更新 | Docker 安裝 | Battery Historian 安裝 ) 中 , 主要講解了如何在 VMWare 虛擬機中的 Ubuntu 18.04.4 系統中
補充兩點 : 在 VMWare 虛擬機中搭建的 Battery Historian 很慢 , 不好用 , 本博客中嘗試在阿里雲服務器上搭建 Battery Historian 使用 ;
① 虛擬機及系統版本 :
- 虛擬機版本 : VMWare 15.5.0 版本 ;
- Ubuntu 系統版本 : Ubuntu 18.04.4 版本 ;
② 虛擬機網絡配置 : 網絡鏈接要選擇 橋接模式 , 只有使用該配置 , 才能再局域網中將其當做一個獨立的主機來訪問 , 其在路由器組網的局域網中分配的地址是 192.168.1.17 , 因此可以使用 http://192.168.1.17:9999 地址訪問電量分析界面 ;
二、獲取 Android 手機電量報告
1、重置電量狀態
重置電量狀態 : 這裏必須重置電量狀態 , 否則拿到的電量報告 , 是從開機到現在的報告 , 這裏先重置 , 然後運行一段時間 , 拿到的報告就是這一段時間的報告 ;
$ adb shell dumpsys batterystats --reset
2、開啓獲取 WeakLock 信息
開啓獲取 WeakLock 信息 : 執行下面的命令 , 即可獲取完整的 WeakLock 信息 ;
$ adb shell dumpsys batterystats --enable full-wake-history
3、獲取手機電量報告
1 . 獲取手機電量報告命令簡介 :
① Android 7.0 Nougat 牛軋糖( API 級別 24 )及以上的版本 : 使用下面的命令導出電量報告 ;
adb bugreport bugreport.zip
② Android 6.0 Marshmallow 棉花糖( API 級別 23)及以下的版本 : 使用如下命令導出電量報告 , 這裏僅做參考 ;
$ adb bugreport > bugreport.txt
2 . 獲取手機電量報告 : 這裏使用 Android 10 系統的手機 , 使用的是第一個命令 ;
① 執行命令 : 執行 adb bugreport bugreport.zip 命令 , 該過程比較慢 , 可能要 5 分鐘左右 ;
② 電量報告生成完成 :
C:\Users\octop\Desktop\battery>adb bugreport bugreport.zip
/data/user_de/0/com.android.shell/f...26.2 MB/s (8138146 bytes in 0.296s)
三、阿里雲服務器搭建 Battery Historian
1、阿里雲服務器安裝 Battery Historian
1 . 阿里雲服務器搭建 Battery Historian : 使用 VMWare 虛擬機中 Ubuntu 18.04.4 系統中搭建的 Battery Historian 操作太慢 , 這裏建議使用阿里雲的服務器 , 安裝 Battery Historian 工具 , 進行電量分析 ;
① 更新源 :
$ sudo apt-get update
② 安裝 Docker :
$ sudo apt install docker.io
③ 安裝 Battery Historian :
$ docker -- run -p 9999:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
2、阿里雲服務器安裝 Battery Historian 腳本
下載資源 : 博客資源下載
一鍵安裝 : 將 001_服務器搭建需要上傳的文件 目錄下的文件上傳到 Ubuntu 系統的 /root/ 目錄下 , 執行上述 battery_historian_build.sh 腳本 , 即可完成安裝 ;
#!/bin/bash
# 該 Shell 腳本必須在 /root/ 目錄下執行 , sources.list 必須上傳到 /root/ 目錄下
# 備份源
mv /etc/apt/sources.list /etc/apt/sourses.list.backup
# 拷貝國內源
cp sources.list /etc/apt/
# 更新源
sudo apt-get update
# 安裝 Docker
sudo apt install docker.io
# 安裝 Battery Historian
docker -- run -p 9999:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
# 訪問 http://192.168.1.17:9999 界面 , 使用阿里雲服務器的 IP 地址替換上述
四、上傳報告至 Battery Historian
1、啓動 Battery Historian
如果 Battery Historian 沒有啓動 , 先啓動 Battery Historian ;
1 . 首先啓動 Battery Historian : 啓動的命令與安裝命令一樣 , 如果發現本地有該容器 , 就會直接啓動 , 如果發現本地沒有 , 就會先執行安裝 , 然後再啓動 ;
docker run -p 9999:9999 blystad/battery-historian
2 . 啓動完成 : 當顯示 Listening on port: 9999
後 , 說明該 Docker 容器啓動完成 , 可以在 http://192.168.1.17:9999 界面中訪問 Battery Historian 了 ;
root@octopus:~# docker run -p 9999:9999 blystad/battery-historian
2020/07/05 05:30:57 Listening on port: 9999
2、上傳電量報告至 Battery Historian
1 . 上傳分析報告 : 點擊 http://8.210.151.183:9999 界面的 Browse 按鈕 , 選擇上述生成的電量報告上傳 ;
2 . 提交報告 : 之後點擊右側的 Submit 按鈕 , 提交報告 :
3 . 生成的分析報告 :