====== ADB ======
Android Debug Bridge의 약자로 안드로이드 어플리케이션을 디버그할 때 쓴다.
===== 경로 =====
안드로이드 SDK 폴더의 platform-tools 폴더 아래에 있다.
===== 명령어 =====
adb를 실행하면 명령어 사용 방법을 볼 수 있다. 많이 쓰이는 것들만 정리하면 다음과 같다.
**adb devices**
adb 서버가 인식한 휴대폰과 에뮬레이터 목록을 보여준다.\\
연결된 devices의 TCP/IP 포트 번호를 알아낼 때 도움이 된다.
다른 명령어를 사용할 때, -s나 -e 옵션은 여러 개의 장치를 연결했을 때 특정한 디바이스를 지정할 때 사용한다.
adb devices // 디바이스 검색
**adb shell**
타겟 시스템의 쉘에 연결하고 # 프롬프트를 띄운다. 쉘은 간소한 유닉스 쉘 같아서 간단한 명령으로 타겟 시스템을 탐색하고 수정할 수 있다.
adb -s emulator-5554 shell // 여러 단말기 중에 하나를 선택해서 접속할 때
**adb install [-l][-r] file_spec**
app을 설치하거나 재설치할 때 사용한다. \\
-l : 다른 장치로 복사돼 넘어가는 것을 막는다. \\
-r: 이미 존재하는 app 데이터를 지우지 않은 채 어플리케이션을 재설치 한다. \\
file_spec: 설치할 app의 .apk 파일
adb install c:\download\HangulKeyboard.apk // 파일 설치시
**adb uninstall [-k] package**
패키지 이름을 가진 app을 제거하다. \\
-k : app의 데이터를 보존한다. \\
package: 패키지의 전체 경로, .apk 확장자는 빼야 한다.
adb unstall com.falinux.android.hello // 패키지 삭제시
**adb push local remote**
개발자 컴퓨터에 있는 local이란 이름을 가진 파일을 타겟 시스템에 remote란 이름으로 복사한다.
com.falinux.android.rose.apk 파일을 안드로이드 기기 /data/app/ 폴더 안으로 집어넣을 때,
adb push c:\com.falinux.android.rose.apk /data/app/
**adb pull remote local**
타겟 시스템에 있는 remote라는 파일을 개발자 컴퓨터에 local이란 이름으로 복사한다.
안드로이드 기기 /data/app/com.falinux.android.rose.apk 파일을 C 드라이브로 가져올 때,
adb pull /data/app/com.falinux.android.rose.apk c:\com.falinux.android.rose.apk
**adb reboot**
안드로이드 시스템을 리부팅 시킨다.
**adb kill-server**
adb 에 문제가 있을 경우, adb를 종료시킨다.
**adb start-server**
종료된 adb를 실행 시킨다.
===== 참고 =====
* [[http://d.android.com/guide/developing/tools/adb.html|ADB 공식 홈페이지]]
* [[http://forum.falinux.com/zbxe/index.php?document_srl=533523&mid=android|따라하는 안드로이드 - adb 명령어]]