ADB(Android Debug Bridge) 기능 및 명령어

 

 

ADB 알아보기

 

■ ADB란?

 

ADB(android debug bridge)는 안드로이드 에뮬레이터나 PC에 실제 연결된 장치를 제어하기 위한 안드로이드 디버깅 도구이며, 기기와 통신할 수 있는 커맨드라인을 제공하며, 세 가지 구성요소(클라이언트, 데몬, 서버)를 포함. ADB는 안드로이드 SDK 플랫폼 도구 패키지에 포함되어 있으므로, SDK 설치만으로 간편하게 사용 가능. 경로는 안드로이드 하위 폴더인 Android\sdk\platform-tools에 위치함.

 

특히, 자주 사용하게 될 기능으로 ADB는 쉘 기능을 제공하여 연결된 안드로이드 에뮬레이터나 장치에서 원격 쉘을 사용할 수 있도록 하는 기능을 제공. "adb shell"이라는 명령을 사용.

 

 

만약 ADB 서버가 구동되어 있지 않다면, 위와 같은 메시지를 출력하나, 이후 자동으로 서버 프로세스를 구동시킴. 

 

 

■ ADB 사용법

 

 

에뮬레이터 실행 후, 정상적으로 장치가 연결되어 있다면, 연결되어 있는 포트(5554)를 출력함.

※우선적으로 5555~5585 범위에서 홀수 포트를 스캔하며, adb 데몬을 찾으면 포트와의 연결을 설정함.

 

 

device의 shell로 붙음(명령어 입력 : adb -e shell)

※adb shell 명령어("-d" 는 USB 장치 연결, "-e" 는 에뮬레이터 연결)

 

※ 기본 adb 명령어

adb devices - 현재 연결된 디바이스들 표시
adb install [apk path] - apk 설치

adb uninstall [apk path] - apk 삭제
adb shell - device에 shell로 붙음
adb pull [device path] [PC Path] - device 내의 파일 꺼내오기
adb push [File Path] [device path] - device 내로 파일 넣기

 

adb jdwp - 프로세스 정보 확인

adb forward [port number] [port number] - 포워딩 기능(로컬 포트를 안드로이드 장치의 특정 포트와 소켓 통신이 가능하도록)

adb get-serialno - 연결된 장치의 시리얼 번호를 문자열로 출력

adb get-state - 연결된 장치의 상태를 문자열로 출력

 

adb start-server - adb 서버 구동

adb kill-server - adb 서버 종료

※경로를 입력할때에는 절대 경로로 작성하는 것이 바람직함

 

 

ADB 디버그 기능 활용하기

 

로그캣(logcat)

 

안드로이드 로깅 시스템은 시스템 디버그 출력 정보를 확인하거나 수집할 수 있는 메커니즘을 제공하며, 수집하는 정보들은 어플리케이션과 시스템에서 수집함. 이에 사용자는 로그캣을 이용하여 로그 메시지를 확인하고 출력할 수 있음.

 

 

명령어 : "adb logcat" 입력 시, 위와 같이 안드로이드의 로그 메시지가 실시간으로 화면에 출력됨

※모든 안드로이드 로그 메시지에는 태그 및 태그와 관련된 우선 순위가 존재하며, 시스템 로그 메시지의 태그는 메시지가 발생한 시스템 구성요소를 가리키는 짧은 문자열임.

 

- 로그의 우선순위

V : 상세

D : 디버그

I : 정보

W : 경고

E : 오류

A : 강제 종료

 

Ex) D/dalvikvm( 1492): Debugger has detached; object registry had 1 entries

- 위의 로그 메시지의 우선순위는 D이며, 태그는 dalvikvm

 

bugreport

 

bugreport는 연결된 안드로이드 장치에 대한 정보(장치 상태 정보, 메모리 사용정보, 시스템 로그정보 등)를 한 번에 출력하여, 로그를 파일에 저장하고 PC로 다운로드 할 수 있음.

Ex) 명령어 : adb bugreport [파일명].zip, adb bugreport

 

 

댓글

Designed by JB FACTORY