adb経由で getevent/sendevent を使います.
Getevent | Android Developers

やってみておもしろかったの以下からのPHPへの移植です.
getevent/sendeventでAndroid端末の操作自動化
実行方法は同様に,ADB接続したパソコン上コンソールから
保存
$ adb shell getevent /dev/input/event2 | php getevent.php > events.txt |
保存したファイルはシェルスクリプトです.
adb shell sendevent /dev/input/event2 0 0 0 |
adb shell sendevent /dev/input/event2 3 53 283 |
adb shell sendevent /dev/input/event2 3 54 2331 |
adb shell sendevent /dev/input/event2 0 0 0 |
adb shell sendevent /dev/input/event2 3 57 4294967295 |
adb shell sendevent /dev/input/event2 0 0 0 |
adb shell sendevent /dev/input/event2 3 57 1886 |
adb shell sendevent /dev/input/event2 3 53 800 |
adb shell sendevent /dev/input/event2 3 54 2312 |
adb shell sendevent /dev/input/event2 3 58 64 |
adb shell sendevent /dev/input/event2 3 48 4 |
adb shell sendevent /dev/input/event2 0 0 0 |
adb shell sendevent /dev/input/event2 3 53 798 |
adb shell sendevent /dev/input/event2 3 54 2311 |
このときの タッチパネルを表す /dev/input/event2 は端末によって違います.
コンソールから以下で確認しましょう.
以下Nexus4の場合.
add device 1: /dev/input/event0 |
add device 2: /dev/input/event1 |
add device 3: /dev/input/event4 |
name: "apq8064-tabla-snd-card Headset Jack" |
add device 4: /dev/input/event3 |
name: "apq8064-tabla-snd-card Button Jack" |
add device 5: /dev/input/event5 |
add device 6: /dev/input/event2 |
再現
PHPスクリプト
define(REGEX_LINE, '/([0-9a-f]+) ([0-9a-f]+) ([0-9a-f]+)/' ); |
define(DEVICE, '/dev/input/event2' ); |
define(SENDEVENT, 'adb shell sendevent %s %s %s %s' ); |
while ( $line = fgets (STDIN, 2048)) { |
if (preg_match(REGEX_LINE, trim( $line ), $matches )) { |
$matches = array_map ( 'hexdec' , $matches ); |
DEVICE, $matches [1], $matches [2], $matches [3]); |
$current = microtime(true); |
printf( "sleep %.3f\n" , $current - $time ); |
テストに役に立つと思います.
関連
関連ワード: Android・おすすめ・これはすごい・ツール・開発・adb・getevent・sendevent