pc에서 작성 후 스크립트를 안드로이드에 넣고 sh로 실행하면
명령어의 앞글자가 삭제되어 인식이 안되는 경우가 있다.
파일 전송간에 문제가 생긴다는 글을 읽어 echo로 텍스트 파일을 작성하니 문제없이 돌아갔다.
echo "#!/system/bin/sh" > dark3.txt
echo "while :" >> dark3.txt
echo "do" >> dark3.txt
echo "input swipe 1500 338 1500 339" >> dark3.txt
echo "echo \"touch add btn\" ">> dark3.txt
echo "sleep 1" >> dark3.txt
echo "input swipe 1170 1630 1170 1631" >> dark3.txt
echo "echo \"viewing ad\"" >> dark3.txt
echo "sleep 120" >> dark3.txt
echo "input keyevent 4" >> dark3.txt
echo "echo \"touch back btn ad\"" >> dark3.txt
echo "sleep 3" >> dark3.txt
echo "input swipe 10 10 10 11" >> dark3.txt
echo "echo \"touch any screen\"" >> dark3.txt
echo "sleep 3" >> dark3.txt
echo "done" >> dark3.txt
#
input swipe 구문의 좌표는 x y x y+1 형태입니다.
좌표는 직접 개발자모드 설정해서 좌표출력 설정하셔서
직접 좌표를 구해서 넣어야 합니다.
input tap로 할 경우 터치가 잘 안되는 경우가 많아 swipe로 터치합니다.
#
이런식으로 echo로 넣어주면 문제없이 스크립트가 실행된다.
위 스크립트는 자동으로 광고를 봐주는 스크립트로써
#
input tap를 사용하지 않고 input swipe를 사용한 이유는 input tap이 제대로 동작하지 않을 확률이 높기 때문이다.
동작하지 않는 앱도 있으므로 스와이프를 사용해서 진짜 사람이 터치하는 느낌으로 매크로를 작성했다.
#
input keyevent 4 는 back 버튼을 누르라는 의미이며 다른 키 이벤트는 아래와 같다.
0 --> "KEYCODE_UNKNOWN"
1 --> "KEYCODE_MENU"
2 --> "KEYCODE_SOFT_RIGHT"
3 --> "KEYCODE_HOME"
4 --> "KEYCODE_BACK"
5 --> "KEYCODE_CALL"
6 --> "KEYCODE_ENDCALL"
7 --> "KEYCODE_0"
8 --> "KEYCODE_1"
9 --> "KEYCODE_2"
10 --> "KEYCODE_3"
11 --> "KEYCODE_4"
12 --> "KEYCODE_5"
13 --> "KEYCODE_6"
14 --> "KEYCODE_7"
15 --> "KEYCODE_8"
16 --> "KEYCODE_9"
17 --> "KEYCODE_STAR"
18 --> "KEYCODE_POUND"
19 --> "KEYCODE_DPAD_UP"
20 --> "KEYCODE_DPAD_DOWN"
21 --> "KEYCODE_DPAD_LEFT"
22 --> "KEYCODE_DPAD_RIGHT"
23 --> "KEYCODE_DPAD_CENTER"
24 --> "KEYCODE_VOLUME_UP"
25 --> "KEYCODE_VOLUME_DOWN"
26 --> "KEYCODE_POWER"
27 --> "KEYCODE_CAMERA"
28 --> "KEYCODE_CLEAR"
29 --> "KEYCODE_A"
30 --> "KEYCODE_B"
31 --> "KEYCODE_C"
32 --> "KEYCODE_D"
33 --> "KEYCODE_E"
34 --> "KEYCODE_F"
35 --> "KEYCODE_G"
36 --> "KEYCODE_H"
37 --> "KEYCODE_I"
38 --> "KEYCODE_J"
39 --> "KEYCODE_K"
40 --> "KEYCODE_L"
41 --> "KEYCODE_M"
42 --> "KEYCODE_N"
43 --> "KEYCODE_O"
44 --> "KEYCODE_P"
45 --> "KEYCODE_Q"
46 --> "KEYCODE_R"
47 --> "KEYCODE_S"
48 --> "KEYCODE_T"
49 --> "KEYCODE_U"
50 --> "KEYCODE_V"
51 --> "KEYCODE_W"
52 --> "KEYCODE_X"
53 --> "KEYCODE_Y"
54 --> "KEYCODE_Z"
55 --> "KEYCODE_COMMA"
56 --> "KEYCODE_PERIOD"
57 --> "KEYCODE_ALT_LEFT"
58 --> "KEYCODE_ALT_RIGHT"
59 --> "KEYCODE_SHIFT_LEFT"
60 --> "KEYCODE_SHIFT_RIGHT"
61 --> "KEYCODE_TAB"
62 --> "KEYCODE_SPACE"
63 --> "KEYCODE_SYM"
64 --> "KEYCODE_EXPLORER"
65 --> "KEYCODE_ENVELOPE"
66 --> "KEYCODE_ENTER"
67 --> "KEYCODE_DEL"
68 --> "KEYCODE_GRAVE"
69 --> "KEYCODE_MINUS"
70 --> "KEYCODE_EQUALS"
71 --> "KEYCODE_LEFT_BRACKET"
72 --> "KEYCODE_RIGHT_BRACKET"
73 --> "KEYCODE_BACKSLASH"
74 --> "KEYCODE_SEMICOLON"
75 --> "KEYCODE_APOSTROPHE"
76 --> "KEYCODE_SLASH"
77 --> "KEYCODE_AT"
78 --> "KEYCODE_NUM"
79 --> "KEYCODE_HEADSETHOOK"
80 --> "KEYCODE_FOCUS"
81 --> "KEYCODE_PLUS"
82 --> "KEYCODE_MENU"
83 --> "KEYCODE_NOTIFICATION"
84 --> "KEYCODE_SEARCH"
85 --> "TAG_LAST_KEYCODE"
echo는 쌍따옴표 안에 출력할 문구를 적어넣는데 그 안에 다시 echo를 넣으려면 "안에"가 하나 더 들어가야 한다.
그럴때는 \"로 쌍따옴표를 입력한다.
또한 >는 파일을 처음부터 작성하라는 r의 의미이고
>>는 파일을 이어서 작성하라는 a의 의미이며 기본적으로 줄바꿈이 된다.
'프로그래밍 > 기본기' 카테고리의 다른 글
vim 에디터 초기설정 해주기 (0) | 2020.10.05 |
---|---|
안드로이드 스마트폰 카메라 셔터음 무음으로 만들기 (0) | 2020.07.01 |
ssh 종료후에도 프로그램이 유지되는 tmux (0) | 2019.09.06 |
[mobaXterm] putty를 대체하는 터미널 프로그램 (0) | 2019.09.06 |
ldconfig 명령어는 왜 쓰는 걸까 (0) | 2019.02.21 |