ZawaWorks’s diary

プログラミング技術メモ

ADB : Androidのタッチイベントを取得してみた

はじめに

 スマートフォンでユーザがどこをタッチしたのかのログデータを取得したい人に朗報です。Android端末ならそれができます。それを実現するのが「ADBコマンド」です。

 

環境設定

 

準備

 今回の記事ではADBコマンドを使います。ADBコマンドを導入する方法をざっくり言うと以下の通りです。

  1. JDKのインストール
  2. Android SDKツールのインストール
  3. Pathを通す

 

詳しくは「windowsでadbコマンドを使えるようにする方法」を参照してください。

 

ADBコマンド

今回扱うコマンドは以下の通りです。これをコマンドプロンプトに入力してください。


1. adb devices

PCに接続されてるデバイスが表示されます。

f:id:ZawaWorks:20170925142027p:plain

2.  adb shell getevent

タップした座標やどれくらいの強さでタップしたかを取得し、そのデータをリアルタイムで返してくれる。


f:id:ZawaWorks:20170925113318p:plain

ちなみに何の結果が帰ってきているかは以下の表の通りです。

f:id:ZawaWorks:20170925114847p:plain

TouchContext: タッチ操作の挙動分析に基づく 人のコンテキスト認識 より引用

 

 

ちなみに「adb shell getevent -tl」で見やすい形でデータが帰ってきます。

Gyazo

 

3. adb shell getevent>hoge.txt

 先ほどのコマンドに「>hode.txt」とつけると、今までコマンドプロンプトに表示されていたデータがhoge.txtに書き込まれます。そのときデータはコマンドプロンプトには表示されなくなります。

 

応用例

Processingという言語と組み合わせてタッチイベントの可視化を試みました。

zawaworks.hatenablog.com

 
参考資料

woshidan.hatenablog.com

Android Record and Playback | FatTuba.com