1

ADB についていくつか質問があります。

次のバッチ ファイルを実行しようとしています。

adb wait-for-devices
adb shell sendevent /dev/input/event9 3 53 67 
adb shell sendevent /dev/input/event9 3 54 768
adb shell sendevent /dev/input/event9 3 48 40
adb shell sendevent /dev/input/event9 3 50 4
adb shell sendevent /dev/input/event9 3 57 0
adb shell sendevent /dev/input/event9 0 2 0
adb shell sendevent /dev/input/event9 0 0 0
adb shell sendevent /dev/input/event9 3 53 67
adb shell sendevent /dev/input/event9 3 54 768
adb shell sendevent /dev/input/event9 3 48 0
adb shell sendevent /dev/input/event9 3 50 4
adb shell sendevent /dev/input/event9 3 57 0
adb shell sendevent /dev/input/event9 0 2 0
adb shell sendevent /dev/input/event9 0 0 0

adb shell input keyevent 8
adb shell input keyevent 9
adb shell input keyevent 10
adb shell input keyevent 11
adb shell input keyevent 12

adb shell input keyevent 5
  • 最初の部分では、touchevents を介してダイヤラーにアクセスする方法を扱います (このキーイベントは見つかりませんでした)。
  • keyevents 経由の 2 番目の部分タイプ 1,2,3,4,5
  • 3番目の部分は、キーイベントを介して呼び出しボタンを押します

ここにあるコンピューターに接続された携帯電話でこのスクリプトを実行すると、タッチイベントが正しく再生され、12345 が呼び出されます。別の PC に接続すると、最初の部分が何らかの理由でダイヤル画面に移動しませんか?

私のコードが一方のコンピューターで実行され、もう一方のコンピューターでは実行されない理由は何ですか?

タッチイベント以外で指のスイープをエミュレートする別の方法はありますか?

編集

PCでの接続が少し遅く、うまく機能しないようです。ADBのバージョンは同じで、実際にスクリプトを変更することで動作させることができました。

たとえば、スイープ アクションなどの touchevents を作成すると、それがわかります。これらは多くのイベントです。上記のコマンド adb shell sendevent を使用して、それらを1つずつ入力すると。携帯電話で確認できますが、掃引が非常に遅いことがわかります。反応が通常の指のスイープと同じくらい速くなるように、コマンドを adb に直接パイプする方法はありますか?

4

3 に答える 3

1

また、最近のAndroidバージョンではinput tapinput swipeコマンドを使用できます

usage: input ...
       input text <string>
       input keyevent <key code number or name>
       input tap <x> <y>
       input swipe <x1> <y1> <x2> <y2>
于 2012-11-01T00:40:15.953 に答える
1

いつでも使える番号をダイヤルするだけservice call phone 2 s16 "12345"

于 2012-10-26T23:19:02.387 に答える
-1

コマンドをadbシェルに転送するためのシェル/バッチスクリプトとして続行すると 、問題が解決しました。

実際の問題は、コマンドごとにadbシェルを呼び出すのに時間がかかることでした。

これにより、実行が遅れ、このタイミングの問題が原因で競合が発生します。

于 2012-10-24T14:31:19.563 に答える