안드로이드을 자동으로 컨트롤 하는 방법이 다양하다.
여기서 ADB을 연결하여 안드로이드 자동화를 하는걸 목표로 공부한걸 기록하도록 한다.
ADB를이용하면, 사용자가 폰을 건들지 않아도 Touch 이벤트를 일으킬 수 있다. 1
단, 여기서 매우 빠르게 필요한 경우면, 안 쓰는게 낫다. 2
먼저, 자기가 만든 프로그램과 ADB랑 연결하는 방법을 기록한다.
실행 프로그램과 PIPE로 연결 하기 위해선 FindWindows을 이용해야되지만, 이 방법은 자식 프로세서를 연결한다.
CreateProcess라는 걸 이용하면, 자식 프로세서가 생성 및 실행이된다. 실행될 프로세서는 ADB이고, 부모 프로세서는 작성하는 프로그램이 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | STARTUPINFO si={0,}; PROCESS_INFORMATION pi; char command[80] = {0,}; sprintf(command,"./adb.exe shell",NULL); si.cb=sizeof(STARTUPINFO); si.dwFlags=STARTF_USESTDHANDLES; rtv=CreateProcess(NULL, command, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi); | cs |
이렇게 추가하게 되면, adb의 shell과 연결이 되게 된다.
차후에 STDIN과 STDOUT을 받는 방법을 기록하도록 한다.
'Android Debuger - 분석 및 프로그래밍' 카테고리의 다른 글
안드로이드 자동화 7 -Power Shell로 간단한 잠금화면 껏다 켰다 하기.- (0) | 2015.06.18 |
---|---|
안드로이드 자동화 6 -ADB Shell COMMAND 전체 소스- (0) | 2015.06.17 |
안드로이드 자동화 4 -ADB의 명령어들- (0) | 2015.06.16 |
안드로이드 자동화 3 -ADB와의 PIPE 통신- (0) | 2015.06.14 |
안드로이드 자동화 2 -PIPE에 STDIN과 STDOUT 연결- (0) | 2015.06.13 |