Android 디버그 브리지(adb)
는 기기와 통신할 수 있도록 지원하는 다목적 명령줄 도구다.
adb
명령어는 앱의 설치 및 디버깅과 같은 다양한 기기 작업에 도움이 되며, 기기에서 다양한 명령어를 실행하는 데 사용할 수 있는 Unix
셸에 대한 액세스를 제공한다.
adb는 아래의 세 가지 구성요소를 포함하는 클라이언트-서버 프로그램이다.
데몬(adbd)
. 데몬은 각 기기에서 백그라운드 프로세스
로 실행된다.서버
. 서버는 개발 머신에서 백그라운드 프로세스
로 실행된다.adb
는 Android SDK 플랫폼 도구 패키지에 포함되어 있다.
이 패키지는 SDK Manager
를 사용하여 다운로드할 수 있으며 android_sdk/platform-tools/
에 설치된다.
5037
에 바인딩되고 adb 클라이언트로부터 전송되는 명령어를 litsten한다. 모든
adb 클라이언트는 포트 5037
을 사용하여 adb 서버와 통신한다.5555~5585 범위(처음 16개의 에뮬레이터가 사용하는 범위)
에서 홀수 포트
를 스캔하여 에뮬레이터를 찾는다. adb 데몬(adbd)
을 찾으면 포트와의 연결을 설정한다.콘솔 연결용 짝수 포트
이고 다른 하나는 adb 연결용 홀수 포트
다. 예:
에뮬레이터 1, 콘솔: 5554
에뮬레이터 1, adb: 5555
에뮬레이터 2, 콘솔: 5556
에뮬레이터 2, adb: 5557
.
.
.
등등
위에서 알 수 있듯이 포트 5555
에서 adb
에 연결된 에뮬레이터는 콘솔이 포트 5554
에서 리슨하는 에뮬레이터와 동일
합니다.
서버가 모든 기기와의 연결
을 설정하면 사용자는 adb
명령어를 사용하여 기기에 액세스할 수 있다. 서버는 기기 연결을 관리하고 여러 adb
클라이언트의 명령어를 처리하므로 개발자는 임의의 클라이언트
(또는 스크립트)에서 임의의 기기
를 제어할 수 있습니다.
레퍼런스 참조 : Android developer 디버그 브리지(adb) 공식문서