ADB : Androidのタッチイベントを取得してみた
#Android #ABD
https://www.orefolder.net/wp/wp-content/uploads/2016/04/20160419-adb-1.png
はじめに
スマートフォンでユーザがどこをタッチしたのかのログデータを取得したい人に朗報です。Android端末ならそれができます。それを実現するのが「ADBコマンド」です。
環境設定
Windows 10
コマンドプロンプト
Xperia XZ
準備
今回の記事ではADBコマンドを使います。ADBコマンドを導入する方法をざっくり言うと以下の通りです。
JDKのインストール
Android SDKツールのインストール
Pathを通す
詳しくは「windowsでadbコマンドを使えるようにする方法」を参照してください。
ADBコマンド
今回扱うコマンドは以下の通りです。これをコマンドプロンプトに入力してください。
1. adb devices
PCに接続されてるデバイスが表示されます。
https://gyazo.com/077a3b9764a878933a6445b871352284
2.  adb shell getevent
タップした座標やどれくらいの強さでタップしたかを取得し、そのデータをリアルタイムで返してくれる。
https://gyazo.com/7f471099ae708a94d2a06a226faf2380
ちなみに何の結果が帰ってきているかは以下の表の通りです。
https://gyazo.com/ee631d03042a41284c10c213fed351e8
TouchContext: タッチ操作の挙動分析に基づく人のコンテキスト認識より引用
ちなみにadb shell getevent -tlで見やすい形でデータが帰ってきます。
https://gyazo.com/5a1a942517e6b445a752f9e3fbb46804
3. adb shell getevent>hoge.txt
先ほどのコマンドに「>hode.txt」とつけると、今までコマンドプロンプトに表示されていたデータがhoge.txtに書き込まれます。そのときデータはコマンドプロンプトには表示されなくなります。
参考資料
Android 4.0, 4.1の対応がまだ必要なので、adb shellを使ってAndroidのUIの手動確認自動化について調べてみた - woshidan's blog
Android Record and Playback | FatTuba.com