안드로이드 adb 명령어 사용법 (Android Debug Bridge)

안드로이드폰 유저 분들은 가끔씩 adb로 apk를 설치해야 한다든지 관련 로그를 보거나 스크린샷을 하기 위해서는 필요하다든지등의 이야기를 많이 들어보셨을 겁니다. adb는 안드로이드 SDK에 포함된 툴인데요, 주변에서 궁금해하시는 분들이 많아서 한번 정리를 해보았습니다.


1. adb란 무엇인가?

adb는 Android Debug Bridge의 약자로, 안드로이드 어플리케이션 등을 개발할 때 에뮬레이터 혹은 실제 안드로이드폰과 인터페이스를 하여 여러가지 작업을 진행하게 되는데요, 이렇게 안드로이드 관련 장치들을 조작할 수 있는 다리 역할을 하는 것이 adb 툴 입니다.
참고로 default directory로 SDK를 설치하였으셨다면 Android SDK는 아래 경로에 설치가 됩니다. (adb.exe 파일)

C:\android-sdk-windows\tools 혹은 C:\android-sdk-windows\platform-tools



2. 실행 방법

1) 시작 - 실행 - cmd 를 입력하신 후 cmd 창을 열어줍니다.
2) adb.exe가 있는 위치를 찾아 이동합니다. (ex: c:\> cd android-sdk-windows\platform-tools)
3) adb 명령어가 실행 가능 합니다.



3. 주로 사용하는 adb 명령어들

그럼 제가 개인적으로 주로 사용하는 명령어들을 설명해드리도록 하겠습니다.

1) adb devices

- adb가 현재 인식하고 있는 에뮬레이터 혹은 휴대폰의 List를 보여줍니다.
혹은 연결된 devices의 TCP/IP 포트 번호를 알아낼 때도 사용하지요.
저의 경우 adb로 명령어 수행하기 전에 꼭 실행하여 연결 여부를 체크하곤 한답니다.


2) adb install (옵션 명령어 -r 혹은 -l) (파일이름).apk
- 어플리케이션을 설치할 때 사용합니다. 아마 일반 유저 분들께서 가장 많이 사용하실 명령어이리라 생각됩니다.
참고로 -r 옵션을 붙이며 이미 존재하는 어플리케이션 데이터를 지우지 않고 재설치를 하며 -l의 경우 다른 장치로 복사돼어 넘어가는 것을 막는다는 명령어 입니다.
물론 옵션(-r 혹은 -l)은 붙이지 않아도 됩니다.


3) adb uninstall (옵션 명령어 -k) package 이름
- 어플리케이션을 삭제할 때 사용하는데요 apk 파일 이름이 아닌 패키지 이름을 넣어주어야 합니다.
참고로 -k 옵션을 붙일 경우 어플리케이션의 데이터를 보존 시키게 됩니다.


4) adb reboot
- Target device의 안드로이드 시스템을 리부팅 시켜줍니다.


5) adb kill-server
- adb를 종료시킵니다. 저의 경우 아래 adb start-server와 페어로 자주 사용합니다.
주로 adb에 문제가 생겨서 Target device가 offline으로 뜨거나 할 때 사용하곤 한답니다.


6) adb push (파일 이름) (Target device의 시스템 위치)
파일 이름을 Target device의 시스템 위치에 복사를 합니다.
예를 들어 adb push aaa.apk data/app/ 의 경우 /data/app/ 폴더 안으로 aaa.apk 파일을 복사하게 됩니다.
저의 경우 간혹 빨리 sd카드에 파일을 옮겨 넣거나 할 때도 자주 사용한답니다.


7) adb pull (Target device의 파일 위치) (파일 이름)
6번과 반대로 Target device의 파일 위치에 있는 파일을 현재 컴퓨터의 파일이름으로 거꾸로 복사를 하는 명령어 입니다.
예를 들어 /data/app/aaa.apk 파일을 c:\aaa.apk로 가져오려고 할 경우,
adb pull /data/app/aaa.apk aaa.apk 로 명령을 수행합니다.


8) adb shell
- 다양한 명령어를 수행할 수 있는 # 프롬프트를 띄우는데 사용합니다. 아주 간소화된 유닉스 쉘인데요 그렇다고 모든 명령어가 수행되지는 안더군요.
참고로 연결된 여러 target device 중에 하나에 접속할 때에는
adb -s (연결시킬 디바이스 명) shell
로 실행시킵니다.



4. 좀더 자세히 알고 싶으시다면...

아래는 android developers 페이지의 adb 관련 document 입니다. 아래 페이지를 참고하시면 좀 더 많은 정보를 얻으실 수 있습니다^^
http://d.android.com/guide/developing/tools/adb.html

댓글