※ 참고로 제목에 Motoroi를 적어서 혼돈 시킬 내용이 있긴 하겠지만 모토로이뿐만 아니라 모토로라사의 안드로이드폰, HTC의 안드로이드폰, 삼성, LG등에서 나오는 안드로이드폰들도 제조사 설정값만 다를뿐, 여기 내용으로 똑같이 연결 설정을 할 수 있습니다.


주로 Windows에서 Java, Web관련 프로그램들을 만들어보다, 안드로이드 폰인 모토로이를 구입후, 안드로이드 앱 개발을 시작하게 되었습니다.

학교에서 틈나는데로 개발하다보니... 진척이 나오진 않더군요,

그래서 집에 있을 주말에는 안드로이드 앱개발에 전념해보자는 생각을 해보았습니다. 그 후에 집에 돌아다니고 있는 ThinkPad R52에 Ubuntu를 설치하여 Android 개발용 노트북으로 만들어 개발을 하게 되었습니다.

그러나 Windows와 다르게 Ubuntu(Linux)에서 adb를 설치해도 안드로이드 기기(모토로이, Motoroi, XT720)이 인식이 되지 않더군요.

Windows에선 모토로라사에서 직접 제공하는 드라이버를 설치하여 사용하면 되니 문제 없지만, Linux는 알아서 셋팅을 해야했습니다.


결국은 Ubuntu에 Android Device(Motoroi, XT720)을 인식할수 있도록 삽질을 하게 되었습니다.

안드로이드 SDK를 설치 한후에 adb device 라는 명령어를 치면 아래와 같이 안드로이드 장치가 인식이 되지 않음을 알 수 있습니다.


studioego@studioego-laptop:~$ adb devices
List of devices attached
????????????    no permissions

studioego@studioego-laptop:~$

그리고 Eclipse에서도 안드로이드 장치가 인식 되지 않음도 알 수 있습니다.



이럴때엔 아래와 같이 작업을 해야합니다.

lsusb라는 명령어로 usb로 인식을 하는지에 대해 확인을 해보면

studioego@studioego-laptop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 002: ID 0a5c:201e Broadcom Corp. IBM Integrated Bluetooth IV
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 22b8:41db Motorola PCS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
studioego@studioego-laptop:~$

모토로이(XT720)은 이미 인식을 했다는 걸 확인 할 수 있습니다.

이미 장치는 인식을 한 상태이지만, adb 에서 인식할 수 있도록, 장치를 등록해야 제대로 안드로이드 장비인 모토로이(XT720)을 사용할 수 있습니다.

출처 : http://aphyr.com/journals/show/debugging-the-droid-on-ubuntu-karmic

위의 링크를 보고 우선 vim같은 편집기로 /etc/udev/rules.d/99-android.rules 파일을 생성한 후 아래와 같은 내용을 적습니다.

SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666"

참고로 Android Device Vendor인 Motorola사의 ATTRS(idVendor)값은 22b8이고 HTC의 경우엔 ATTRS(idVendor)값이 0bb4 이런식으로 되어있습니다.

참고로 이 글은 모토로이 뿐만 아니라 다른 업체인 HTC, 삼성, LG등의 안드로이드폰에서도 적용을 할 수 있다는걸 알 수 있습니다.

/etc/udev/rules.d/99-android.rules를 작성후 저장합니다.

이후 udev 데몬을 재시작 한후, 장비의 연결을 뺀후, 다시 연결하면 모토로이에 USB Debugging 모드로 우분투에서 모토로이 장치를 제대로 인식 할수 있습니다.

아래는 udev 재시작을 하는 것을 보여줍니다. .sudo /etc/init.d/udev restart 대신 가급적이면 sudo restart udev를 하라고 나옵니다.

studioego@studioego-laptop:~$ sudo /etc/init.d/udev restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart udev
udev start/running, process 8066
studioego@studioego-laptop:~$


USB연결을 뺐다 다시 USB연결을 하면 모토로이 장치가 인식되었다는 걸 확인을 아래에서 할 수 있습니다

studioego@studioego-laptop:~$ adb devices
List of devices attached
040376780F01F01D    device

studioego@studioego-laptop:~$

모토로이가 인식되었다는 것을 Eclipse에서도 확인 할 수 있습니다.



아래는 기념으로 모토로이 화면 캡쳐를 하였습니다. (Ubuntu 9.10에서 Eclipse를 사용하여 Hootsuite라는 트윗 어플을 찍어봄)




Buy me a coffeeBuy me a coffee

+ Recent posts