안드로이드 디버그 브리지 (Android Debug Bridge : adb)는 에뮬레이터 또는 안드로이드 기기와 통신을 하게 해주는 커맨드라인 툴 (Command-line Tool) 입니다. adb 명령어는 여러가지 동작을 가능하게 하는데, 예를 들면 앱을 설치하거나, 또는 앱을 디버깅하고, 유닉스 셀 명령어를 기기에서 동작시킬 수 있습니다. adb는 3가지 구성요소로 되어 있습니다.
■ 클라이언트 (Client) : 클라이언트는 명령어를 보내는 역할을 하는데, 개발할 기기상에서 동작합니다. adb 명령어로서 커맨드라인 터미널에서 클라이언트를 호출합니다.
■ 대몬 (Daemon : adbd) : 기기에서 명령어를 동작시킵니다. 대몬은 기기상에서 백그라운드 프로세스로 동작합니다.
■ 서버 (Server) : 클라이언트와 대몬사이의 통신을 관리합니다. 서버는 개발할 기기에서 백그라운드 프로세스로 동작합니다.
adb는 Android SDK Platform-Tool의 패키지내에 포함되어 있습니다. 즉, android_sdk/platform-tools/ 폴더에 설치되어 있습니다.
adb 클라이언트가 실행되면, 실행중인 adb 서버 프로세스가 있는지 확인을 합니다. 만약 없다면, adb 서버 프로세스를 실행시킵니다. 서버는 실행되면 로컬 TCP 포트 5037에 바인드되어 명령어 수신을 기다립니다. 모든 adb 클라이언트는 adb 서버와의 통신을 위해 포트 5037을 사용합니다.
그다음 서버는 실행중인 모든 장치에 대한 연결을 셋업하는데, 초기 16새의 에뮬레이터를 위해 포트 5555에서 5585까지중 홀수번의 포트를 검색해서 에뮬레이터를 찾습니다. 그런다음 연결된 에뮬레이터와의 연결을 셋업합니다. 각 에뮬레이터는 콘솔 연결을 위해 포트 5555에서 5585까지중 짝수번의 포트를 사용합니다.
서버가 모든 장치에 대한 연결을 설정하면 adb 명령어를 사용하여 해당 장치에 접근할 수 있습니다. 서버는 장치에 대한 연결을 관리하고 여러 adb 클라이언트의 명령을 처리하므로 모든 클라이언트에서 모든 장치를 제어합니다.
adb를 사용하여 디버깅을 하거나 제어를 하기 위해서는 연결된 장치에서 'USB debugging'을 온시켜야 하는데, 이 메뉴는 'Developer Options'내에 찾을 수 있습니다. 일반적으로 기기상에서 동작하는 소프트웨어는 'User Mode' 소프트웨어이기 때문에, 이를 위해 'About Phone' 메뉴내에서 'Developer Options' 메뉴가 나오게 해야 하는데, 'Build Number' 메뉴를 7차례 클릭을 하면 'Developer Options' 메뉴가 생성됩니다.
댓글 없음:
댓글 쓰기