본문 바로가기

Developement/Android

Linux 에서 Android device USB debugging 설정 하기.

 Linux Mint 17.1 32bit 에서 USB debugging 을 위해 Android 기기를 연결 하면 당연히 아무것도 되는게 없다. adb device 해 봐야 뜨는게 없다. 이럴땐 다음과 같이 하도록 하자.

 먼저 lsusb 를 이용해서 현재 꼽혀 있는 USB 장치의 Vendor ID 를 알아 와야 한다. (또는 google 문서에 있는 ID 참조)



 위 이미지 처럼 확인되어야 하는 것은 Bus xxx Device xxx: ID AAAA:xxxx xxxxxxxxxxx..... 에서 AAAA 4자리의 16진수 이다. 이것을 Gedit 등에 복사 후 붙여 둔 다음 Terminal 에서 /etc/udev/rules.d 로 이동 한 다음 51-android.rules 가 있는지 확인 해 본다. (만약 없으면 한들어 주면 됨, 하지만 없다는 것은 MTP 연결을 이미 안하고 있다는 말 ...)



 sudo vi 51-android.rules 를 입력하던지 sudo gedit 51-android.rules 를 입력 하던지 해서 수정에 들어 간다. (없으며 만들어 지되, 권한은 root 여야 하므로 본인 계정이 root 가 아니면 sudo 로 실행 해 줘야 한다.)



 입력이 되어야 하는 부분은 위 이미지의 마지막 부분인  USBSYSTEM ... 이 시작되는 부분이다.


SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"


 여기서 자신이 사용하는 Android 기기의 Vendor ID (제조사 ID) 를 바꿔 쓰면 되고, 이 경우는 LGE(1004) 에 해당한다. 위 정보를 저장 한 다음 권한을 먼저 확인 해야 하는데, 위에서 두번째 이미지 처럼 -rw-r--r-- 로 설정 되어 있으면 되며, 만약 이게 아니라면 다음과 같이 변경 해 준다.


sudo chmod a+r /etc/udev/rules.d/51-android.rules


 그런 다음 자신의 Android 기기를 먼저 USB 에서 뽑은다음, udev 서비스를 다시 실행 해 주자.


sudo service udev restart


 이제 다시 기기를 USB 에 연결 하면 Windows 처럼 현재 연결을 신뢰 하겠는가? 라는 다이얼로그가 뜨면 신뢰를 눌러 주되, 계속 디버깅 할 거면 현재 Linux PC 의 ID 도 체크 해 준 다음 연결 하도록 하자. 만약 제대로 연결 되었다면 adb devices 라는 목록에 다음과 같이 device 라고  뜬다. 만약 이 과정이 제대로 안 되었다면 unauthorized 라고 표시 되니 '이게 뭐지?' 라고 하지 말고 디버깅 신뢰 과정을 거치도록 한다.



- 추가 : Eclipse 에서 디버깅 장치 연결 하기 -

 Eclipse 에 Android SDK 연결해서 쓴다면 현재 자신이 개발중인 Project 의 Properties 를 확인 한다.


 Run/Debugging Settings 항목에서 자신의 프로젝트를 더블클릭 하면 ... (Edit) 보통 아래 처럼 Emulator 만들어 놓은걸로 설정 되어 있는데,



이 중 Target tab 으로 이동 하여 Deplayment Target Selection Mode 의 Always prompt to pick device 로 바꾸면 경우에 따라 연결된 기기나 에뮬레이터 골라서 쓸 수 있게 된다.