티스토리 뷰

Computer/Android

[Android] 에뮬레이터의 Adb connection Error

인생이글케쉬우냐 2013. 8. 23. 01:10

하루에 조금씩 짬 날때마다 안드로이드를 보려고 하는데

요 몇일은 내 의도와 상관없이 일찍 잠들어버려서 할수가 없었다.

오늘은 아직까지 안졸리고 해서 의욕에 불타서 공부좀 하려는데

이클립스 키고 가상머신에서 에뮬레이터 돌리고 연결하자마자

콘솔창에 시뻘건 에러메세지가 주르륵.. 

...


정말 주구장창 주르륵..

ㅠ.ㅠ


[2013-08-23 00:38:02 - ddmlib] 현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다

java.io.IOException: 현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다

at sun.nio.ch.SocketDispatcher.write0(Native Method)

at sun.nio.ch.SocketDispatcher.write(Unknown Source)

at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)

at sun.nio.ch.IOUtil.write(Unknown Source)

at sun.nio.ch.SocketChannelImpl.write(Unknown Source)

at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)

at com.android.ddmlib.Client.sendAndConsume(Client.java:607)

at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)

at com.android.ddmlib.Client.requestAllocationStatus(Client.java:453)

at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:835)

at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:803)

at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:763)

at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)

at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44)

at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)


devices 탭에 보니 5554포트를 잡고 있는 나도 모르는 디바이스가 합류해있다;;

분명 난 5555포트를 사용하는 virturebox내의 에뮬 하나만 연결했는데,

시뻘건 익셉션만 미친듯이 뿌려대고 알수 없는 디바이스의 존재라니..;;


이걸 없애겠다고 cmd창에서 adb disconnect 127.0.0.1만 주구장창 뿌렸던 것 같다.


그래도 해결리 안되서..

여기저기 기웃거리며 알게된 방법은

설정-어플리케이션-개발 에 들어가서 usb 디버깅모드를 해제했다가 다시 재설정하라는데,,

내 애뮬레이터엔 설정-어플리케이션 하위에 "개발"이 없더라..


다시 폭풍 검색..

이클립스내에서 sdk와 adb를 업데이트 해야된단다.


그러고 보니 업데이트 해야되는 것들이 생겨있더라..?

그래서 열심히 업데이트해줬다.

그러고나서 다시 연결해제했다가 연결해봤다.

(adb disconnect 127.0.0.1, adb connect 127.0.0.1)



그래도 안되더라..

그래서 다시 폭풍검색..


재부팅하고 이클립스 킨 다음에

kill-server하고 start-server하고

그런다음에 connect해줬더니 된다.



아래와 같이 원격호스트에의해 강제로 끊겼다고 메세지가 뜨는데, 

1부터 connection attempts가 천천히 카운트 된다.

저 숫자들이 11정도 되면 다시 알수없는 그 유령디바이스가 생기길래, 

숫자 카운트가 진행되는 동안에 낼름 start-server를 해줬다.

(adb kill-server, adb start-server)

혹시 몰라서 Virturebox의 포트포워딩 포트도 5554로 잡았다가 다시 5555로 변경했다.

(유령 디바이스가 자꾸 5554 포트를 잡길래..;;)



그랬더니 카운팅이 3에서 멈추고 유령디바이스도 더이상 생성되지 않았다.


아무래도 원인은 마지막으로 에뮬을 쓰고나서 커넥션이 남은 상태로 종료를 했었기 때문이 아닐까 추측해본다.

어찌됐던 지금은 잘 되고 있다. 

ㅎ 다행~


반응형