Battery Historian とは Android 端末の消費電力などをグラフ化してみることのできるツールです。
実行すると以下のようなグラフをブラウザで確認できるようになります。
以下は、ここを参考に実施した手順などをまとめてあります。
はじめに
以下メリットはありますが、
- Browser で確認でき、誰でもデータの取り込みができるようになる
- ファイルで保存できる
- 項目が非常に詳細
手軽さで行ったら AndroidStudio のプロファイラのほうが手軽です。
こちらで紹介しています。
前提
- Windows 10
- Docker 19.03.13
手順
大きく分けて二つあります。
- docker を含む表示環境の準備
- データの収集と表示
docker を含む表示環境の準備
- docker のインストール(他サイトにたくさんあるので割愛します)
- コマンド実行
docker -- run -p 8080:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999- エラーが出る場合は参考のエラー箇所を参照
- http://localhost:8080/ にアクセスする
- ↓ が表示されればOK
データ収集と表示
- 以下コマンドを実行。
$ adb shell dumpsys batterystats > batterystats_yyyyMMddHHmmss.txt - 以下コマンドを実行。私の環境では2~3分ほどかかりました。
$ adb bugreport > bugreport.zip
2~3分かかった。 - 2 を実行すると bugreport.zip 以外に、
bugreport-flame-RQ1A.210205.004-2021-04-03-12-25-27.zip
が出ていることを確認します。- 実行したタイミングで日付などは異なります。
- この後このデータを使用して表示します。
- Browse を押して、3 のファイルを選択すると、右側に Submit ボタンが出てくるので押す。
参考
docker image が起動できない invalid publish opts format エラー
以下のような docker: invalid publish opts format
が出る場合。
docker: invalid publish opts format (should be name=value but got '172.18.111.2:9999').
See 'docker run --help'.
原因
Once you start Docker, it should tell you the IP address of the machine it is using. If, for example, the IP address is 123.456.78.90, Historian will be available at http://123.456.78.90:<port>.
とあったので、IP 指定で実行しろという意味なのかと間違えていた。
対応
$ docker --run -p 172.18.112.1:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
と実行していたのだが、そうではなく、
$ docker --run -p 172.18.112.1:8080:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
と実行すればいい。
現状の docker では、上記通りIP指定なしでも問題ない。
ファイルが正常に読み込めない out of memory
画面上部に赤いトーストみたいなものが表示されている場合はうまくいっていない。
私の場合は、out of memory が出ていた。これは docker を動かしているターミナル上に表示されていた。
fatal error: runtime: out of memory
原因
読んだ通りメモリ不足。
対応
stackoverflow を基に、512MB しかなかったので4096に変更して、docker 再起動、コマンド再実行で、やり直したところうまくいった。