소프트웨어개발/Android

맥에서 안드로이드 무선 디버깅 1 - ADB를 이용한 방법

날개 2017. 10. 5. 12:28

안드로이드 개발을 하다 보면, 선 연결 없이 개발을 하고 싶을 때가 많습니다.

요즘은 무선 시대라고 할 만큼 컴퓨팅도 무선으로 하고 있죠. 무선 마우스, 무선 키보드, 무선 이어폰 등등...

선이 많으면 책상 위도 복잡해지고 보기가 좋지 않네요.


여하튼 안드로이드 개발 툴에서도 USB연결 없이 무선으로 디버깅 하는 것이 가능합니다.

단, 그래도 USB케이블은 계속 가지고 있어야 합니다. 개발용 컴퓨터를 켤 때 마다 한번은 USB를 연결한 상태에서 세팅을 해야 하니까요.


지금 소개할 방법은 안드로이드 개발 툴에서 기본적으로 지원하는 ADB를 통한 무선 디버깅 (와이파이 연결) 방법입니다. 

(사실 터미널을 이용해야 하기 때문에 불편한 점이 있기는 합니다. 다음 글에서는 편하게 할 수 있는 방법을 소개 합니다.)


>> 테스트 환경 <<


1. PC (Mac)

MacOS : 10.13 High Sierra

Android Studio : 2.3.3

Android SDK Platform-Tools : 26.0.1

2. Phone

Nexus 5x

Android 8.0 Oreo



1. 미리 준비 사항


- 개발용 맥에 안드로이드 개발 환경이 설치 되어 있어야 합니다. (참고로 테스트 환경은 위의 노란 박스를 참조하세요.)

- 개발용 맥과 단말기는 동일한 네트워크에 접속되어 있어야 합니다. (같은 아이피 대역 안에 있어야 함)

  (일반적으로 같은 공유기에 자동으로 물려 있고, 공유기에 특별한 세팅을 하지 않았다면 동일한 네트워크입니다.)



2. 무선 연결 방법


(1) 먼저 단말기를 맥에 USB로 연결합니다.


(2) ADB 명령을 입력하기 위해 터미널을 엽니다.


(3) 안드로이드 플랫폼 툴이 설치된 폴더로 이동합니다. - 안드로이드 플랫폼 툴이 설치된 폴더를 패스로 잡아두었다면, 이동하지 않아도 됩니다. 


저의 경우는 아래 화면과 같은 위치에 안드로이드 플랫폼 툴이 설치되어 있습니다.





(4) 터미널에서 ADB를 사용하여 단말기가 연결 되어 있는지 확인합니다. (선택사항, 필수는 아닙니다.)


$ adb devices


아래와 같이 연결된 단말기가 리스트에 나와야 합니다.



(5) 터미널에서 ADB를 네트워크 모드로 변경합니다. 아래와 같이 입력합니다. (이때 단말기는 반듯이 USB로 연결되어 있어야 합니다.)


$ adb tcpip 5555


이렇게 하면 안드로이드 디버깅이 5555번 포트 TCP/IP 모드로 전환됩니다.

여기서 포트번호 5555는 임의로 바꿀 수 있습니다. 성공하면 아래와 같이 나옵니다.


(6) 단말기에 할당된 IP를 확인합니다.


저의 경우는 단말기의 [설정]-[네트워크 및 인터넷]-[Wi-Fi]-[('연결됨' 네트워크 탭)] 에서 확인 가능했습니다.


(7) 이제 단말기 USB를 맥에서 분리합니다.


(8) ADB에서 단말기로 무선 연결 합니다. 아래와 같이 입력합니다.


$ adb connect [단말기 IP]


연결되면 아래와 같이 나타납니다.


위와 같이 'connected to 아이피' 라고 나오면 연결 된 것입니다. 가끔씩 연결 실패가 뜰 때가 있는데, 시간의 여유를 두고 몇 번 재시도 하면 성공하는 경우가 있습니다.


이제 연결 없이 개발 및 디버깅 하면 됩니다.



3. 마치며


복잡해 보이지만 정리하면 간단합니다.


1) USB 연결

2) USB 연결 되었는지 확인

3) 'adb tcpip <임의의 포트번호>' 명령으로 네트워크 모드로 변경

4) 단말기 USB 분리

5) 'adb connect <단말기 IP>'로 연결


하지만, 이것도 맥을 재부팅하거나, 단말기를 재부팅 할 때 마다 해 주어야 하기 때문에 번거롭게 느껴지기도 합니다.

이럴때는 다음글에서 설명할 안드로이드의 플러그인을 사용하는 방법도 있습니다.


이 글에서는 맥에서 무선으로 안드로이드 디버깅을 하는 기본적인 방법을 살펴 보았습니다.



(C) 2017 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)