adb를 이용하면 루팅 없이도 간단하게 안드로이드에서 터치 매크로를 돌릴 수 있습니다. pc에 폰을 연결해 둬야 하며 오차가 꽤 심하다는 문제가 있으나 쓰기 직관적이라 개인적으로 애용중인 방법입니다.


예제:


#!
/bin/sh sudo adb devices while true do adb shell input tap 1220 1100 & for i in `seq 1 8` do sleep 10 adb shell input tap 50 50 & done done

adb shell input tap x y 로 터치 이벤트를 일으킬 수 있으며 이걸 sleep과 적절히 조합해서 매크로를 구성합니다. 윗 코드의 경우 1220 1100좌표를 한번 터치한 이후 10초 기다리고 50 50좌표를 터치하고를 8번 반복하는 예제입니다. 명령어 뒤에 &를 붙인 이유는 adb shell커맨드가 딜레이가 좀 긴 편이라서 순차적으로 돌리면 시간 오차가 심각하게 발생하기 때문입니다.

윈도의 경우 배치스크립트로 이와 비슷한 스크립트를 구성할 수 있을 것으로 보입니다. 윈도에서는 timeout이 sleep과 비슷한 역할을 하고 start를 이용해 패러랠하게 프로세스를 돌릴 수 있었던 것으로 기억합니다. 안 해 봐서 깔끔하게 될지는 모르겠습니다만..


여기에 adb over wifi를 루팅 없이 사용가능한 방법이 있는데 (예: https://futurestud.io/blog/how-to-debug-your-android-app-over-wifi-without-root )그걸 이용하면 usb충전기에 폰을 꽂아두고도 컴퓨터를 통해 매크로를 돌릴 수 있습니다.


이 외에도 adb shell monkey를 이용한 방법이 있고 시간 정확도는 이게 더 높아 보입니다만 개인적으로는 간단하고 조금 오차가 나도 되는 매크로의 경우 이 방식이 더 편한 것 같습니다.