ADB 는 Android Debug Bridge 를 말합니다. 에뮬레이터나 휴대폰기기와 상호작용하는 주요 툴입니다. 클라이언트/서버 방식으로 작동합니다.
. 데이타 또는 앱을 push/pull (데이터), 설치 또는 제거(앱)
. shell command 실행
. 기기 재 시작
. 시스템 로그 읽기 등이 가능합니다
1. ADB 시작
adb 는 platform-tools 디렉토리에 있으므로 환경변수 PATH 를 잘 설정했다면 터미널 창에서
adb
라고 입력하면 됩니다.
2. 연결된 기기 확인
ADB 서버는 자동으로 현재 컴퓨터에 연결된 에뮬레이터 또는 기기에 연결합니다
adb devices
라고 터미널 창에서 입력하면 목록이
[Serial number] [State] 형식으로 표시됩니다. Serial number 는 연결된 기기의 ID값으로 기기에 바로 연결할때 이 ID값이 필요합니다. 에뮬레이터 경우emulator-5556 이런식입니다. State에는 offline (연결되었지만 반응이 없을때), device (연결되었고 이용가능할때), no devices (연결된 기기가 없을때) 로 표시됩니다.
3. 특정 기기로 연결하기
adb -s [Serial number] 명령어
예를 들어 특정 기기에 version 이라는 명령어를 보내려면
adb -s emulator-5556 version
즉, adb -s 타켓기기 명령어 형식입니다. 위의 adb devices 는 타켓기기가 1개라고 가정했을때 devices 라는 명령어만 보내는 것입니다. 즉, 연결된 기기가 2개 이상일경우에는 adb -s 다음에 기기의 [Serial number] 를 지정하고 그 다음에 명령어를 나열하면 됩니다.
연결된 기기가 2개이상이라면 [Serial number] 값을 지정해서 adb 명령을 해야 하지만 연결된 기기가 하나일때는 특정기기를 지정하지 않아도 되므로 1개만 연결해서 사용하는것이 더 편리합니다.
adb version
(연결된 기기가 한 개이므로 기기의 [Serial number] 를 지정할 필요가 없습니다)
4. 파일 보내기
adb push local-directory remote-directory
형식입니다
예를 들면,
adb push foo.txt /sdcard/foo.txt
처럼 됩니다
5. 파일 가져오기
adb pull remote-directory local-directory
형식입니다
예를 들면,
adb pull /sdcard/foo.txt foo2.txt
처럼 됩니다. 이동 개념입니다
6. 기기에 어플 설치하기
adb install foo.apk
처럼 하면 됩니다.
만약 2개이상의 기기 일경우에는
adb -s emulator-5556 install foo.apk
처럼 하면 됩니다
7. 기기의 어플 삭제하기
adb uninstall com.tools.demo
형식입니다. uninstall 다음에 apk 파일명이 오는것이 아니라 com.tools.demo 처럼 앱의 Package Name 을 지정해야 합니다.
8. shell 명령어 사용
adb shell
Interactive mode 로 되어서 다양한 리눅스 명령어를 사용하다 exit 로 빠져 나옵니다
adb shell 명령어
예를 들어
adb shell cat /system/etc/hosts
처럼 명령어를 한개씩 실행하고 싶을때 사용합니다
9. 시스템 데이터 가져오기
adb shell dumpsys [특정서비스]
시스템 데이터를 스크린에 보여줍니다. 예 adb shell dumpsys alarm 은 시스템에 현재 등록된 모든 알람을 표시합니다
adb shell dumpstate
adb shell dmesg
커널의 디버깅 메시지를 표시합니다. 시스템 하드웨어와 연결되는 앱을 작성했을때 유용합니다.
adb shell logcat -b radio
셀룰러 라디오 로그를 보여줍니다.
adb shell logcat [option] .. [filter spec]
형식입니다
10. 액티비티 매니저 사용하기
예를 들어 com.foo.FooActivity 라는 액티비티를 직접 실행하려면
adb shell am start -n com.foo/.FooActivity
am start 참고 글
- http://maluchi.com/xe/?mid=MyAndroidTips&comment_srl=27138&page=1&document_srl=27419
- http://www.dreamy.pe.kr/zbxe/CodeClip/163972
11. ADB 서버 리셋
adb kill-server
adb start-server
더 자세한것은 구글문서 http://developer.android.com/tools/help/adb.html 를 참고하세요
'준비' 카테고리의 다른 글
support library 설정하기 (이클립스/안드로이드 스튜디오) (2) | 2014.11.26 |
---|---|
안드로이드 폰 스크린 레코딩 하기 (0) | 2014.05.28 |
mylyn 의 위치 (0) | 2013.11.17 |
개발 준비 - SDK 설치, AVD 설정 그리고 에뮬레이터 실행 (0) | 2013.11.09 |