[컴][안드로이드] adb 동작

안드로이드 / android / adb how to work /

adb 동작


from : https://www.slideshare.net/tetsu.koba/adbandroid-debug-bridge-how-it-works

  1. adb client 를 실행하면,
  2. client 는 먼저 실행되고 있는 adb server process가 있는지 확인한다.
  3. 없으면 server process 를 시작한다.
  4. server가 시작되면, server 는 local TCP port 5037 에 bind 해서, adb client 에서 보내는 명령을 받을 준비를 한다.
  5. 모든 adb client 는 adb server 와의 통신을 위해 5037 port 를 사용한다.
  6. 서버는 그러고 난후에, 모든 실행되고 있는 기기(devices) 과 connection 들을 설정한다.(set up)
  7. 서버는 "5555~5585 사이의 홀수로 된 port 들"을 scanning 해서, emulator 가 어디있는지를 찾는다.
    • "5555~5585 사이의 홀수로 된 port 들" 은 첫 16개의 emulator 들이 사용하게 된다.
  8. 서버가 scanning 한 port 중에서 adbd(adb 데몬, target phone 에 있다.)을 찾으면, 그 port 와 connection 을 set up한다.
  9. 각 emulator 는 한쌍의 port 를 사용한다.
    • console connection 을 위해 짝수번 port
    • adb connection 을 위해 홀수번 port
Emulator 1, console: 5554
Emulator 1, adb: 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557
and so on...
  1. emulator 가 port 5555 를 통해 adb 에 연결됐으면, emulator 의 console 은 5554 port 에서 listen (수신대기)하고 있는 것이다.
  2. 서버가 모든 기기들과 connection 을 맺으면,
  3. 그 기기들에 대해서 adb command 를 사용할 수 있다.
  • 서버는 device 에 대한 연결을 관리하고, 여러 adb client 로 부터 오는 command 들을 handle 한다. 그래서 특정 device 를 control 하기 위해 특정 client 를 사용할 필요는 없다.

from : https://www.slideshare.net/tetsu.koba/adbandroid-debug-bridge-how-it-works

Reference

  1. Android Debug Bridge (adb) | Android Developers
  2. ADB(Android Debug Bridge): How it works?

댓글 없음:

댓글 쓰기