Wiem, że odpowiedź została udzielona, ale odpowiadam Aby zapewnić niezwykle łatwy sposób symulacji zdarzeń dotykowych dla przyszłych wyszukiwań.
Jednym z łatwych sposobów jest ślepe kopiowanie!
Zamiast odczytywać dane wyjściowe getevent
, a następnie nadawać je sendevent
, które jest naprawdę wolne. Po prostu ślepo kopiuj gesty z prawdziwego urządzenia z tą samą wersją Androida, a następnie ślepo wklej je.
Można skopiować wprowadzania dotykowego w rzeczywistym urządzeniu przez:
1- W adb shell metę dd if=/dev/input/event2 of=/sdcard/left
.
2- Wykonaj gest, który chcesz symulować (przesuń palcem).
3- Ta ściana utworzy plik o nazwie (/sdcad/left)
z danymi wygenerowanymi przez prawdziwy dotyk.
4- Przenieś plik w dowolne miejsce na AVD, powiedzmy (/sdcad/left)
.
5- W AVD adb powłoki uruchomić dd if=/sdcard/left of=/dev/input/event2
Viola! Symulowane zdarzenie dotykowe będzie miało miejsce.
UWAGA: W moim urządzeniu plik, który ma zdarzenia dotykowe, jest /dev/input/event2
, może się różnić w zależności od urządzenia, więc możesz najpierw użyć wersji próbnej i błędu.
W skrócie, jeśli nagrywać i grać na tym samym urządzeniu:
1- dd if=/dev/input/event2 of=/sdcard/left
2- wykonaj dotyk dla prawdziwego
3- dd if=/sdcard/left of=/dev/input/event2
4- Powtórzyć etap 3, tyle, ile potrzebujesz.
Cheers :)
Kliknięcie i przytrzymanie za pomocą wskaźnika myszy nie działa? –
Ya thats pracował dla mnie - kliknij i przytrzymaj - przeciągnij w lewo/prawo - puścić. – Jack
To naprawdę nie działa dla mnie ... Używam poziomego układu ViewFlipper (na prawdziwym urządzeniu, lewe/prawe przesunięcie działa ...) – MarcoS