Help us understand the problem. What is going on with this article?

androidの操作を自動化したときの覚書

More than 3 years have passed since last update.

androidで色々と自動化したくなったのでその覚書

端末の確認

adb devices
adb -s 端末のIDで端末を指定して実行

タップとスワイプ

タップ

adb shell input touchscreen tap x y

例によって左上が(0, 0)

スワイプ

adb shell input swipe x1 y1 x2 y2

タッチイベントを拾う

adb shell getevent /dev/input/event0

event0の部分はandroidのデバイスファイルのパス

-iオプションを付けると人が見やすい形式で出力してくれる。

ファイルの転送

PCからandroidへ

adb push PCのファイル 端末のファイル

androidからPCへ

adb pull 端末のファイル PCのファイル

androidのシェルを起動

adb shell

シェルの中ではタップなどのコマンドはadb shellを除いた部分だけで実行できる。

タッチイベントを記録&再現

record.rb
time = Time.now

while true
  if gets =~ /([a-f\d]+) ([a-f\d]+) ([a-f\d]+)/
    arr = [$1.to_i(16), $2.to_i(16), $3.to_i(16)]
    _time = Time.now
    puts "sleep #{_time - time}" if _time - time > 0.1
    puts "sendevent /dev/input/event0 #{arr[0]} #{arr[1]} #{arr[2]}"
  end
end

adb shell getevent /dev/input/event0 | ruby record.rb > touch.txtで記録。
adb push touch.txt /storage/sdcard0/で転送
adb shellでシェルに入って、sh /storage/sdcard0/touch.txtで実行

参考 getevent/sendeventでAndroid端末の操作自動化

techno-tanoC
Elixir, Haskell, Ruby, Rustが好き
mixi
全ての人に心地よいつながりを
http://mixi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした