Feuer eine Prise in/out-Befehl, um Android-Handy mit adb
So weit ich in der Lage bin zu Tippen, wischen, entsperren, installieren/deinstallieren, und starten Sie die app über adb Befehle, aber nicht in der Lage zu finden, wie man durchführen, zoom in/out mit den adb-Befehl.
Ich habe Koordinaten von pinch in/out, aber nicht verstehen, wie man Feuer Sie mit den adb-Befehl aus dem terminal.
Zum Beispiel , wir haben Befehl --> adb shell input tap x y Also in diesem können wir ersetzen x und y durch Werte/Koordinaten ebenso möchte ich wissen, die Art und Weise zu simulieren, die Prise in/out.
Koordinaten, die ich für die pinch-in finden Sie unten.
{"id":0,"dumb":[{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":607.4264705882354}],"action":0},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":607.4264705882354},{"id":1,"pressure":1,"x":327.05882352941177,"y":672.5735294117648}],"action":261},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":609.7794117647059},{"id":1,"pressure":1,"x":327.05882352941177,"y":670.2205882352941}],"action":2},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":612.1323529411765},{"id":1,"pressure":1,"x":327.05882352941177,"y":667.8676470588235}],"action":2},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":616.8382352941177},{"id":1,"pressure":1,"x":327.05882352941177,"y":663.1617647058823}],"action":2},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":626.25},{"id":1,"pressure":1,"x":327.05882352941177,"y":653.75}],"action":2},{"events":[{"id":0,"pressure":1,"x":392.94117647058823,"y":630.9558823529412},{"id":1,"pressure":1,"x":327.05882352941177,"y":649.0441176470589}],"action":2},{"events":[{"id":0,"pressure":1,"x":395.29411764705884,"y":635.6617647058823},{"id":1,"pressure":1,"x":324.70588235294116,"y":644.3382352941177}],"action":2},{"events":[{"id":0,"pressure":1,"x":397.64705882352945,"y":642.7205882352941},{"id":1,"pressure":1,"x":322.3529411764706,"y":637.2794117647059}],"action":2},{"events":[{"id":0,"pressure":1,"x":400,"y":649.7794117647059},{"id":1,"pressure":1,"x":320,"y":630.2205882352941}],"action":2},{"events":[{"id":0,"pressure":1,"x":402.3529411764706,"y":656.8382352941177},{"id":1,"pressure":1,"x":317.64705882352945,"y":623.1617647058823}],"action":2},{"events":[{"id":0,"pressure":1,"x":402.3529411764706,"y":661.5441176470589},{"id":1,"pressure":1,"x":317.64705882352945,"y":618.4558823529412}],"action":2},{"events":[{"id":0,"pressure":1,"x":404.7058823529412,"y":668.6029411764706},{"id":1,"pressure":1,"x":315.29411764705884,"y":611.3970588235294}],"action":2},{"events":[{"id":0,"pressure":1,"x":404.7058823529412,"y":673.3088235294118},{"id":1,"pressure":1,"x":315.29411764705884,"y":606.6911764705883}],"action":2},{"events":[{"id":0,"pressure":1,"x":404.7058823529412,"y":680.3676470588235},{"id":1,"pressure":1,"x":315.29411764705884,"y":599.6323529411765}],"action":2},{"events":[{"id":0,"pressure":1,"x":407.05882352941177,"y":685.0735294117648},{"id":1,"pressure":1,"x":312.94117647058823,"y":594.9264705882354}],"action":2},{"events":[{"id":0,"pressure":1,"x":407.05882352941177,"y":687.4264705882354},{"id":1,"pressure":1,"x":312.94117647058823,"y":592.5735294117648}],"action":2},{"events":[{"id":0,"pressure":1,"x":409.4117647058824,"y":689.7794117647059},{"id":1,"pressure":1,"x":310.5882352941177,"y":590.2205882352941}],"action":2},{"events":[{"id":0,"pressure":1,"x":411.7647058823529,"y":694.4852941176471},{"id":1,"pressure":1,"x":308.2352941176471,"y":585.5147058823529}],"action":2},{"events":[{"id":0,"pressure":1,"x":411.7647058823529,"y":699.1911764705883},{"id":1,"pressure":1,"x":308.2352941176471,"y":580.8088235294118}],"action":2},{"events":[{"id":0,"pressure":1,"x":414.11764705882354,"y":706.25},{"id":1,"pressure":1,"x":305.88235294117646,"y":573.75}],"action":2},{"events":[{"id":0,"pressure":1,"x":416.47058823529414,"y":713.3088235294118},{"id":1,"pressure":1,"x":303.5294117647059,"y":566.6911764705883}],"action":2},{"events":[{"id":0,"pressure":1,"x":418.8235294117647,"y":715.6617647058824},{"id":1,"pressure":1,"x":301.1764705882353,"y":564.3382352941177}],"action":2},{"events":[{"id":0,"pressure":1,"x":418.8235294117647,"y":718.0147058823529},{"id":1,"pressure":1,"x":301.1764705882353,"y":561.9852941176471}],"action":2},{"events":[{"id":0,"pressure":1,"x":418.8235294117647,"y":720.3676470588235},{"id":1,"pressure":1,"x":301.1764705882353,"y":559.6323529411765}],"action":2},{"events":[{"id":0,"pressure":1,"x":421.1764705882353,"y":727.4264705882354},{"id":1,"pressure":1,"x":298.8235294117647,"y":552.5735294117648}],"action":2},{"events":[{"id":0,"pressure":1,"x":421.1764705882353,"y":732.1323529411765},{"id":1,"pressure":1,"x":298.8235294117647,"y":547.8676470588235}],"action":2},{"events":[{"id":0,"pressure":1,"x":423.5294117647059,"y":739.1911764705883},{"id":1,"pressure":1,"x":296.47058823529414,"y":540.8088235294118}],"action":2},{"events":[{"id":0,"pressure":1,"x":425.88235294117646,"y":746.25},{"id":1,"pressure":1,"x":294.11764705882354,"y":533.75}],"action":2},{"events":[{"id":0,"pressure":1,"x":425.88235294117646,"y":753.3088235294118},{"id":1,"pressure":1,"x":294.11764705882354,"y":526.6911764705883}],"action":2},{"events":[{"id":0,"pressure":1,"x":428.2352941176471,"y":758.0147058823529},{"id":1,"pressure":1,"x":291.7647058823529,"y":521.9852941176471}],"action":2},{"events":[{"id":0,"pressure":1,"x":435.29411764705884,"y":765.0735294117648},{"id":1,"pressure":1,"x":284.70588235294116,"y":514.9264705882354}],"action":2},{"events":[{"id":0,"pressure":1,"x":440,"y":769.7794117647059},{"id":1,"pressure":1,"x":280,"y":510.22058823529414}],"action":2},{"events":[{"id":0,"pressure":1,"x":440,"y":779.1911764705883},{"id":1,"pressure":1,"x":280,"y":500.80882352941177}],"action":2},{"events":[{"id":0,"pressure":1,"x":444.7058823529412,"y":788.6029411764706},{"id":1,"pressure":1,"x":275.29411764705884,"y":491.39705882352945}],"action":2},{"events":[{"id":0,"pressure":1,"x":451.7647058823529,"y":800.3676470588235},{"id":1,"pressure":1,"x":268.2352941176471,"y":479.63235294117646}],"action":2},{"events":[{"id":0,"pressure":1,"x":456.47058823529414,"y":812.1323529411765},{"id":1,"pressure":1,"x":263.5294117647059,"y":467.86764705882354}],"action":2},{"events":[{"id":0,"pressure":1,"x":461.1764705882353,"y":821.5441176470589},{"id":1,"pressure":1,"x":258.8235294117647,"y":458.4558823529412}],"action":2},{"events":[{"id":0,"pressure":1,"x":465.88235294117646,"y":833.3088235294118},{"id":1,"pressure":1,"x":254.11764705882354,"y":446.69117647058823}],"action":2},{"events":[{"id":0,"pressure":1,"x":470.5882352941177,"y":840.3676470588235},{"id":1,"pressure":1,"x":249.41176470588235,"y":439.63235294117646}],"action":2},{"events":[{"id":0,"pressure":1,"x":475.29411764705884,"y":847.4264705882354},{"id":1,"pressure":1,"x":244.7058823529412,"y":432.5735294117647}],"action":2},{"events":[{"id":0,"pressure":1,"x":477.64705882352945,"y":854.4852941176471},{"id":1,"pressure":1,"x":242.3529411764706,"y":425.5147058823529}],"action":2},{"events":[{"id":0,"pressure":1,"x":482.3529411764706,"y":863.8970588235294},{"id":1,"pressure":1,"x":237.64705882352942,"y":416.1029411764706}],"action":2},{"events":[{"id":0,"pressure":1,"x":484.7058823529412,"y":870.9558823529412},{"id":1,"pressure":1,"x":235.29411764705884,"y":409.04411764705884}],"action":2},{"events":[{"id":0,"pressure":1,"x":489.4117647058824,"y":875.6617647058824},{"id":1,"pressure":1,"x":230.58823529411765,"y":404.3382352941177}],"action":2},{"events":[{"id":0,"pressure":1,"x":489.4117647058824,"y":878.0147058823529},{"id":1,"pressure":1,"x":230.58823529411765,"y":401.9852941176471}],"action":2},{"events":[{"id":0,"pressure":1,"x":491.764705882353,"y":882.7205882352941},{"id":1,"pressure":1,"x":228.23529411764707,"y":397.2794117647059}],"action":2},{"events":[{"id":0,"pressure":1,"x":494.11764705882354,"y":885.0735294117648},{"id":1,"pressure":1,"x":225.88235294117646,"y":394.9264705882353}],"action":2},{"events":[{"id":0,"pressure":1,"x":496.47058823529414,"y":892.1323529411765},{"id":1,"pressure":1,"x":223.52941176470588,"y":387.86764705882354}],"action":2},{"events":[{"id":0,"pressure":1,"x":501.1764705882353,"y":899.1911764705883},{"id":1,"pressure":1,"x":218.82352941176472,"y":380.80882352941177}],"action":2},{"events":[{"id":0,"pressure":1,"x":503.5294117647059,"y":908.6029411764706},{"id":1,"pressure":1,"x":216.47058823529412,"y":371.39705882352945}],"action":2},{"events":[{"id":0,"pressure":1,"x":505.88235294117646,"y":908.6029411764706},{"id":1,"pressure":1,"x":214.11764705882354,"y":371.39705882352945}],"action":2},{"events":[{"id":0,"pressure":1,"x":505.88235294117646,"y":910.9558823529412},{"id":1,"pressure":1,"x":214.11764705882354,"y":369.04411764705884}],"action":2},{"events":[{"id":0,"pressure":1,"x":505.88235294117646,"y":913.3088235294118},{"id":1,"pressure":1,"x":214.11764705882354,"y":366.69117647058823}],"action":2},{"events":[{"id":0,"pressure":1,"x":505.88235294117646,"y":913.3088235294118}],"action":1},{"events":[{"id":0,"pressure":1,"x":505.88235294117646,"y":913.3088235294118},{"id":1,"pressure":1,"x":214.11764705882354,"y":366.69117647058823}],"action":262}],"eventType":"MOTION"}
- Das sieht aus wie ein
Instrumentation
. Warum nicht etwas wie eineActivityInstrumentationTestCase2
, dann senden SieMotionEvent
zu IhremActivity
mitInstrumentation
API ? - Was ist der Zweck dieses? Einfach nur testen? Wenn dem so ist, können Sie mit Robotium und hier ist ein Beispiel link. Sie können auch aufstapeln. werfen Sie einen Blick link
- Ich möchte in der Lage sein, um das Feuer adb-Befehl aus dem terminal selbst. Instrumentierung und testcase2 bezieht sich auf Skript, wenn mich nicht falsch, so nicht wollen, zu gehen in das. Noch, wenn @AntoineMarques wenn u haben, Beispiel es pls geben Sie mir link.
- Siehe hier den Teil über
Instrumentation
(developer.android.com/training/activity-testing/...). Die Methode, die ich hier beziehen, ist developer.android.com/reference/android/app/.... Dann, diese Anleitung könnte dir helfen, wenn nicht schon gemacht eine Instrumentierung : developer.android.com/tools/testing/activity_test.html - für diese brauche ich script zu laufen, aber was ich Suche ist der Weg zur Feuer-pinch in/out mit Koordinaten wie input tap x y. Noch geschätzt, für Ihre ans.
- Ich glaube nicht, dass es einen Weg gibt, das zu tun multitouch-Aktionen mithilfe von ADB. Sie könnten in der Lage sein zu erreichen, was Sie wollen mit uiautomator, es gibt Unterstützung für multitouch-seit api-level 18. developer.android.com/tools/testing/testing_ui.html developer.android.com/tools/help/uiautomator/...
- Ich habe umgeschaut und bin auf multitouch/touchscreen in der ADB ,und auch sendevent Befehl ist es, die ein Muster von multitouch. Am Ende nicht immer genaue Art und Weise der Umsetzung.
- Ich stehe korrigiert, fand ich einen interessanten link hier: ktnr74.blogspot.de/2013/06/...
- Für einfache touch-down, und swipe-adb-Befehle zur Verfügung gestellt, so brauchen Sie zu gehen, für eine solche box und Codierung. Für touch-adb-shell-Eingabe Tippen Sie auf x, y und adb-shell input swipe x1 y1 x2 y2.
- Wer niederstimmen Frage bitte geben Grund für dieselbe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man es mit
adb getevent
undsendevent
.Verbinden Sie das Gerät mithilfe
adb
. Folgen Sie den Schritten unten.Identifizieren Sie Ihr Eingabe-Gerät:
Öffnen Sie ein beliebiges Bild auf Ihr Gerät. Um die Liste der input-Geräte laufen
Pinch in/out auf das Bild, Sie sollten sehen, eine kontinuierliche Protokolle wie
Bestätigt
/dev/input/event2
ist die Eingabe der device-name für mein Ziel-Gerät.Exakt
getevent
und konvertierengetevent
zusendevent
:Stellen Sie sicher, dass Ihr Bildschirm eingeschaltet ist und öffnen Sie mit einem Bild,
Führen Sie den nachstehenden Befehl an der Eingabeaufforderung.
Während die oben ist ausgeführt, Pinch in/out auf das Bild auf Ihrem Telefon.
Einmal abgeschlossen, Töten Sie den oben genannten Befehl Strg + C
Öffnen Sie die Datei
getevent_input.txt
und löschen, erste Zeile"add device X: /dev/input/eventX"
aus.Seit
getevent
gibt Werte in dezimal undsendevent
nimmt hexadezimal Wert.Wir haben für die oben genannten Umbau.
Dieses Skript
hex_to_dec.py
hier macht die Arbeit. Dank diese Kerl!Erzeugt eine Datei
getevent_input.scr
Nun diese Datei umbenennen, um.sh
Datei öffnen
sendevent_input.sh
und löschen Sie die zweite Zeile"echoing – drawing function"
und speichern Sie es.Laufen auf dem Gerät.
Transfer
sendevent_input.sh
zu Gerät.Stellen Sie sicher, dass Sie Gerät verfügt über ein Bild öffnen, und den Bildschirm nicht aus.
Arbeitete für mich vollkommen in Ordnung, Wenn das, was Sie suchen.
Für sichtbare Ergebnisse, ermöglichen
Show berührt
in den Entwickler-Optionen.Umgebung:
Motorola Moto G (Android 4.4.4)
mitADB (v 1.0.31)
aufUbuntu 12.04
.A (Art hacky -) Lösung mit
adb shell input
sieht aus wieDie Idee ist, dass wir starten, TIPPEN Sie command, dann kurz schlafen und dann ausführen WISCHEN. Solche Befehle Sequenz so interpretiert, Tippen Sie auf+, streichen Sie daher zoom wird durchgeführt.
Das Beispiel oben würde ein zoom-out auf einer Karte.
"Ein (eine Art hacky -) Lösung..." hat bei mir auf Ubuntu, aber ich war nicht in der Lage zu laufen, etwas ähnliches in Windows. Also, ich habe ein Skript erstellt die Datei (auf dem Handy, in /data/local/tmp), eingefügt, der code dort (skipping 'adb shell '), chmod ' ed, u+x, und ausgeführt von windows via adb. Und jetzt funktioniert es auf dem Handy.