usb 장치를 연결하는 어플리케이션을 개발하다 보니 나름 곤란한 문제가 발생했다. 초반에야 그냥 기본적인 문제라 usb를 연결을 하고 디버깅이나 다운로드를 하여도 상관 없었는데, 장치를 연결하려고 보니, 아... 연결을 할 수 없더라.
그래도 아는게 이거라고 계속 usb로 다운로드하고 주요 지점을 log로 빼내고 하면서 진행을 하다가 옆자리에 윈도우즈 프로그램 개발하는 동료에서 불평을 하였다. 그랬더니 그 분의 말... "무선으로 안되?" 그렇다. 이 간단한거 하나 생각 못해서 찾아 보지도 않았는데, 검색해보니 와우~ 가능하단다. 상세한 내용은 링크를 참고 하면 될 듯하다.(링크)
일단 무선을 하기 위해선 전재 조건이 하나 있다. 안드로이드 버전 3.1 이상이어야 한다는 것. 왜 아래에선 안된다고 하면 나도 모른다. 설명에 안된단다;;;(안드로이드 버전 2.3.4 이후에 도입된 backport를 이용하는 듯...) 아무튼 영어가 짧으니 간단하게 넘어 가고...
하는 방법은 간단하다. 안드로이드 라이브러리 설치된 디렉토리에 위치한 platform-tools 로 넘어간다.(정확히는 adb 파일을 찾아 가는 것) 그리고 "adb tcpip 5555"(연결할 포트를 지정하는 것 인데 반드시 5555일 필요는 없다.)를 해주고, "adb connect 휴대폰ip"를 해주면 된다.(본인 휴대폰의 ip는 휴대폰 정보나, WiFi의 설정화면의 상세, 고급 같은 메뉴에 가면 볼 수 있다.)
c:\android\platform-tools> adb devices : 연결된 디바이스 확인
c:\android\platform-tools> adb tcpip 5555 : 연결된 디바이스의 5555 포트 열기
c:\android\platform-tools> adb connect 192.168.0.200 : 연결된 디바이스의 연결
아무튼 이 과정에서 대충 휴대폰을 공유기를 통해 고정 ip로 만들어 버리면 좋다. 물론 대부분의 공유기들이 dhcp에 의한 ip할당을 어지간하면 기기마다 계속 동일하게 부여하지만, 혹시 모르니 매번 확인해야 하는 번거로움도 있고 해서 고정하면 편하다는 이야기이다.
그리고 이건 다른 이야기지만 아무래도 공유기하고 휴대폰이 연결히 해지가 되면 adb로 열었던 port가 다시 닫히는 것 같다. 반복적으로 해보니깐 그렇더라. 그러면 위에것을 다시 해주면 되는데 귀찮으면 bat 파일로 만들어서 하는 방법도 있긴 하다.
# 그냥 참고 사항.
디렉토리 이동 : cd <원하는 위치> , c:\> cd test , c:\> cd c:\test
상위 디렉토리 이동 : cd..
드라이브 이동 : d: , c:\> d:
마우스 오른쪽 : 팝업메뉴, 붙여넣기 있음
# bat 파일
# 추가
WiFi로 디버깅을 했나가 나갔다 와서 디버깅을 하려고 할 때 잘 안되면 위에 내용대로 안되는 경우가 있다. 그러면 usb를 다시 연결하고 다음의 순서로 입력한다.
adb device
adb connect 192.168.0.200 : 이것만 해주어도 상관 없다.
그러면 reconnect가 되면서 되는 경우가 있다.
그런데 이것을 해도 안되는 경우는 다시 usb로 바꾸었다가, 하면 된다.
adb device
adb kill-server : 이것만 해주어도 상관 없다.
adb usb : usb mode로 바꾸어 주지만 kill-server를 하지 않으면 안 먹는 경우가 있다.