티스토리 뷰

우분투에서 안드로이드 앱을 개발하기 위해서는 윈도우나 맥보다는 조금 더 까다로운 과정이 필요합니다.


기본적으로 디바이스를 연결하려면 권한이 없다는 에러를 만나게 될 가능성이 매우 높기 때문입니다.

연결된 device 확인

brown@brown-ubuntu:~/android-studio/bin$ adb devices
List of devices attached
00cbe1ec95dxxxxx  no permissions

no permissions 에러가 발생

brown@brown-ubuntu:~/android-studio/bin$ sudo adb kill-server
brown@brown-ubuntu:~/android-studio/bin$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
brown@brown-ubuntu:~/android-studio/bin$ adb devices
List of devices attached
00cbe1ec95dbad83 unauthorized


디바이스로 돌아가보면 USB 디버깅 권한을 확인하는 창이 뜨게 됩니다.


디버깅 권한을 부여해야만 adb나 android studio에서 접근이 가능해집니다.


USB 디버깅 권한 허용




권한을 부여하고 다시 adb devices 명령을 수행하면 아래처럼 제대로 목록이 나옵니다.



brown@brown-ubuntu:~/android-studio/bin$ adb devices
List of devices attached
00cbe1ec95dbad83 device


Android Studio에서 APK 설치가 안된다면?

$ adb push /home/brown/AndroidStudioProjects/MyApplication/app/build/outputs/apk/debug/app-debug.apk /data/local/tmp/com.example.brown.myapplication
com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: verify udev rules.
See [http://developer.android.com/tools/device.html] for more information.
Error while Installing APK

위와 같이 insufficient permissions for device: verify udev rules 에러가 나타난다면 udev 설정을 해주어야 합니다.

Nexus 5X의 udev 설정

/etc/udev/rules.d/51-android.rules 파일을 수정(혹은 생성)해야 합니다. (관리자 권한이 필요함)


brown@brown-ubuntu:~/android-studio/bin$ sudo vi /etc/udev/rules.d/51-android.rules

아래 내용을 기록하고 저장합니다.

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


여기서 중요한건 ATTR{idVendor} 값인데, 실제 디바이스 제조사의 ID를 입력해야 합니다.


18d1은 google의 ID이며 주의할 점은 Nexus 제품의 경우 LG(5X), 화웨이(6P)가 아니란거죠.


자세한 목록은 개발자 페이지에서 제공하고 있습니다.


회사USB 제공업체 ID
Acer0502
ASUS0b05
Dell413c
Foxconn0489
Fujitsu04c5
FujitsuToshiba04c5
Garmin-Asus091e
Google18d1
Haier201E
Hisense109b
HP03f0
HTC0bb4
Huawei12d1
Intel8087
K-Touch24e3
KT Tech2116
Kyocera0482
Lenovo17ef
LG1004
Motorola22b8
MTK0e8d
NEC0409
Nook2080
Nvidia0955
OTGV2257
Pantech10a9
Pegatron1d4d
Philips0471
PMC-Sierra04da
Qualcomm05c6
SK Telesys1f53
Samsung04e8
Sharp04dd
Sony054c
Sony Ericsson0fce
Sony Mobile Communications0fce
Teleepoch2340
Toshiba0930
ZTE19d2


끝.

Comments
댓글쓰기 폼