상세 컨텐츠

본문 제목

ADB 로 화면 캡쳐하여 저장하는 방법 (ADB screen capture)

Study/Tips

by 휀스 2014. 9. 25. 00:12

본문



ADB 로 화면 캡쳐하여 저장하는 방법 (ADB screen capture)


# Test Server 에 5대의 android board 가 연결되어 있어 for 문을 사용하여 모두 한번에 캡쳐한 파일을 저장하도록 합니다.



전체 소스는 아래와 같습니다. 이 파일을 imagecp 라는 파일로 저장하여 놓고 chmod +x imagecp 명령으로 실행 permission 을 주고 실행하면 됩니다.


for board_num in 1 2 3 4 5

do

        if [ -f "~/home/test_board0$board_num.png" ]

        then

                rm "~/home/test_board0$board_num.png"

        fi

        adb -s test_board0$board_num shell "screencap -p /sdcard/test_board0$board_num.png"

        adb -s test_board0$board_num pull /sdcard/test_board0$board_num.png ~/home/test_board0$board_num.png

        scp ~/home/test_board0$board_num.png jason@10.199.4.58:/data/home/stability/TestTools/test_board0$board_num.png

done


내용을 설명하자면 아래와 같습니다.


# Test Server 에 5대의 android board 가 연결되어 있어 for 문을 사용하여 모두 한번에 캡쳐한 파일을 저장하도록 합니다.

for board_num in 1 2 3 4 5

do

# 먼저 기존에 캡쳐했던 이미지를 삭제합니다.

# if 조건문의 -f 는 파일의 유무를 체크하는 옵션입니다.

        if [ -f "~/home/test_board0$board_num.png" ]

        then

                rm "~/home/test_board0$board_num.png"

        fi

# adb shell 명령으로 android board 내의 screencap 명령을 실행합니다. -p 옵션을 사용하여 png 파일로 저장합니다.

        adb -s test_board0$board_num shell "screencap -p /sdcard/test_board0$board_num.png"


# adb pull 명령으로 Test Server 로 캡쳐한 파일을 가져옵니다.

        adb -s test_board0$board_num pull /sdcard/test_board0$board_num.png ~/home/test_board0$board_num.png


# Test Server 에 있는 파일을 직접 보는 것이 불가능 할 경우 로컬 PC로 복사 합니다.

        scp ~/home/test_board0$board_num.png jason@10.199.4.58:/data/home/stability/TestTools/test_board0$board_num.png

done


일반적인 경우 scp 명령을 사용하면 비밀번호를 물어보게 됩니다. 매번 비밀번호를 입력해 주는 방법도 있지만 scp 를 사용할 때 마다 입력한다는 것이 매우 비 효율적이므로 ssh-copy-id 명령으로 비번을 묻지 않도록 합니다.

관련 내용은 http://bluelight.tistory.com/303 에서 참고 하였습니다.







Test Server 에서 아래 명령을 실행 합니다.

# ssh-copy-id jason@10.199.4.58

jason@10.199.4.58's password: 


Number of key(s) added: 1


Now try logging into the machine, with:   "ssh 'jason@10.199.4.58'"

and check to make sure that only the key(s) you wanted were added.


이렇게 하여 imagecp 명령 한번으로 5개 테스트 보드의 화면을 한곳에 모아서 볼 수 있게 되었습니다.


이상 ADB 로 화면 캡쳐하여 저장하는 방법 (ADB screen capture)에 대한 글 이였습니다.




관련글 더보기