ADB랑 연결한다고 해도, PIPE로 통신해야된다.
방법은 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | if(!rtv){ printf("Error"); return -1; } int i=0; int n = 0; char tmpkey=0; char filenames[100]; FILE *fp=NULL; while(1){ writen=0; readn=0; for(i=0;i<MAX_LINE;i++){ buffer[i]=0x00; } //ReadFile(read_in,buffer,sizeof(buffer),&readn,NULL); //ReadFile(read_in,buffer,sizeof(buffer),&readn,FILE_FLAG_OVERLAPPED); ReadFile(read_in,buffer,sizeof(buffer),&readn,NULL); if(!strncmp(buffer,"exit",4)){ break; } printf("%s",buffer); for(i=0;i<MAX_LINE;i++){ buffer[i]=0x00; } fgets(buffer,MAX_LINE,stdin); //WriteFile(write_in,buffer,strlen(buffer),&writen,NULL); if(!strncmp(buffer,"exit\n",5)){ WriteFile(write_in,buffer,strlen(buffer),&writen,NULL); break; } WriteFile(write_in,buffer,strlen(buffer),&writen,NULL); } | cs |
이렇게 하면, WriteFile로 처리될 수 있다.
ReadFile로 하면, 파이프로 적혀진 버퍼를 읽어들인다.
WriteFile로 하면, 버퍼에 기록한다.
이렇게 해서 ADB SHELL을 통신할 수 있다.
'Android Debuger - 분석 및 프로그래밍' 카테고리의 다른 글
안드로이드 자동화 7 -Power Shell로 간단한 잠금화면 껏다 켰다 하기.- (0) | 2015.06.18 |
---|---|
안드로이드 자동화 6 -ADB Shell COMMAND 전체 소스- (0) | 2015.06.17 |
안드로이드 자동화 4 -ADB의 명령어들- (0) | 2015.06.16 |
안드로이드 자동화 2 -PIPE에 STDIN과 STDOUT 연결- (0) | 2015.06.13 |
안드로이드 자동화 1 -ADB와 실행 프로그램 간의 연결- (0) | 2015.06.11 |