ALL ABOUT ME

Android :: ADB(Android Debug Bridge) 본문

Lab

Android :: ADB(Android Debug Bridge)

threeword 2010. 11. 11. 09:09

ADB 소개

 

ADB(Android Debug Bridge)는 장치(폰이나 에물레이터 등)에 연결하여 매우 다양한 명령을 수행합니다.

ADB의 기능중에 일부분은 DDMS에서 GUI로 편리하게 사용되는 기능도 있습니다.

ADB가 콘솔에서 작동하는 툴이지만 다양한 기능을 가졌고 때로는 DDMS의 기능보다 편리할 때도 있습니다.

여기서는 ADB의 기능 중에 매우 자주 사용되는 명령을 다루겠습니다.

 

기계 정보 알아내기

 

adb devices

연결된 장치의 목록을 보여줍니다.

 

adb get-state

기기의 상태를 알려줍니다.

 

adb get-serialno

기기의 일련번호를 알려줍니다.

 

 

프 로그램 설치/제거

 

adb install helloApp.apk
apk파일을 가지고 있으면 adb install 명령으로 장치에 직접 설치할 수 있습니다
 
adb uninstall com.springnote.androidedu.helloApp
안드로이드에 설치되 프로그램을 제거합니다.
자이의 메뉴를 통해 삭제하는것 보다 훨씬 간편하게 프로그램을 제거할 수 있습니다.

Note: adb -s emulator-5554 install helloApp.apk와 같이 여러개의 장비가 연결되어 있는경우 모든 adb 명령에 -s [장치명]으로 장치를 명시해 주어야 합니다.

 

 

파일 복사

 

db push C:\log.txt /sdcard/log.txt
로컬위치의 log.txt 파일을 장치의 /sdcard/log.txt로 복사
 
adb pull /sdcard/log.txt C:\log.txt
장치의 /sdcard/log.txt 파일을 로컬위치의 log.txt로 복사
 
Note: 사진등의 미디어 파일을 SD카드에 넣어도 바로 인식(겔러리,MP3에서)이 되지 않는다. 이유는 미디어를 관리하는 DB(SQLite)에
    정보가 등록되어 있어야 하기 때문입니다. 에물레이터에서는 Dev Tols응용 프로그램에서 Media Scanner를 실행하면 되고,
    기기의 경우에는 재부팅을 해야 합니다. 프로그램에서 복사할 경우는 재부팅을 시키기 어려우므로 MEDIA_MOUNTED 의도(intent)를
    발송하는 방법이 있습니다. (시작하세요! 안드로이드 프로그래밍 p.602)

 

 

ADB 서버 제어

 

kill-server
adb start-server

adb 명령을 처음 실행하면 adb 서버가 자동으로 실행이 됩니다. (adb start-server)
adb 서버가 실행되고 장시간 사용하면서 디버기 하다보면 속도가 느려기거나 재대로 작동하지 않는 경우가 발생합니다.
이럴때는 adb kill-server명령을 수행하여 서버를 내린후 다시 adb start-server로 서버를 실행하면 성능이 향상될 수 있습니다.

 

쉘 사용하기

 

adb shell기기의 쉘로 접근하여 리눅스와 쉘과 비슷한 방식으로 명령을 실행합니다.
기기의 /system/bin 폴더에 수행 가능한 명령이 들어있습니다.
 
adb shell sqlite3
안드로이드의 sqlite3 콘솔에 접속합니다.
sqlite의 콘솔 명령을 수행할 수 있습니다.
안드로이드의 기본적인 경량 File Database인 sqlite의 자세한 정보는 이곳에서는 생략합니다.
 
adb shell monkeyshell이라는 툴을 사용하여 프로그램의 스트레스 테스트를 수행합니다.
monkey는 안드로이드에 스트레스 테스트 툴입니다. 자세한 정보는 생략합니다.

 

LogCat

 

adb logcat

콘솔에 LogCat을 출력합니다.

 

adb logcat --help
logcat의 활용 방법을 확인 할 수 있습니다.
DDMS에 LogCat과 같은 기능이지만 때로는 더 빠르고 편리할 때도 있습니다.

 

도움말을 사용하여

Tag 필터링, Process별 필터링 등의 필터링을 연습해 보세요.

파일로 저장하는 방법과 LogCat의 내용을 비우고 출력하는 방법을 찾아보세요.

 

에뮬레이터에 SD카드 설정하기

 

mksdcard 1024M C:\sdcard.iso

SD카드를 로컬 디스크 상에 생성합니다.

 

emulator -sdcard C:\sdcard.iso

에뮬레이터를 생성된 SD카드와 함께 실행합니다.

Comments