Android開発のこと

Androidのgeteventとsendeventを簡単に使おう

Amazonのアソシエイトとして、8796.jp管理日誌は適格販売により収入を得ています。

image

adb shell で繋いで input tap とか糞遅いんで、もっと速い手段を使おう!

 

Nexus 5 の場合は /dev/input/event1 がタッチパネルなので

adb shell で繋いで

getevent /dev/input/event1 > /sdcard/event.txt

ってやって、タッチパネルぐりぐりして気が済んだら Ctrl+C で終了させる

そんでまた adb shell 繋いでたったの1行

cat /sdcard/event.txt|while read a;do set $a;sendevent /dev/input/event1 $((0x$1)) $((0x$2)) $((0x$3));done

ってやるとさっきやったぐりぐりが再現されます。

ね。簡単でしょ?

数値が getevent では16進数だけど sendevent は10進数なんですが、0x でどうにかしてるのが見どころですね。

これをうまく使えば繰り返しのテストとかきっと捗ると思いますよ!

でも実際の動作より遅いのでなんとかできんもんじゃろかと悩んでる今日このごろです。

コメント

タイトルとURLをコピーしました