우분투가 내 안드로이드 장치를 감지하지 못합니다


34

나는 안드로이드를 처음 사용합니다. 방금 안드로이드 SDK를 다운로드하여 설치했습니다. 이제 일식에서 응용 프로그램을 실행할 때 장치가 감지되지 않습니다. 나는 googled하고 이것을 내 솔루션으로 생각해 냈지만 작동하지 않았다.

다음은 51-android.rules입니다

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

그 후 랩톱을 재부팅하고 다음 명령을 실행했습니다.

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

내가 얻는 출력은 다음과 같습니다

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

편집하다

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

편집 : 2

여기에 제출 된 답변은 내가 얻은 결과입니다.

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

Micromax Canvas 2.2 A114를 사용하고 있습니다-Android 버전 4.2.2

도와주세요. 감사.


2
안드로이드에서 USB 디버깅이 켜져 있습니까?
Jon Hanna

예. 켜져 있습니다.
Saiyan Prince


1
SUBSYSTEM, 단수 여야합니다.
pakman

답변:


42

이 작업을 수행하기위한 모든 단계는 다음과 같습니다. 온라인에서 찾은 모든 응답, 비트 및 조각을 특정 순서없이 단일 작업 솔루션 (Android Studio, Jmonkey 3D 및 Ubuntu 14.04 실행)없이 발견했습니다.

adb 장치 가 Android 장치를 ????????? 로 표시하는 경우 (권한 없음) 다음 지침을 따르십시오.

  1. /etc/udev/rules.d/51-android.rules 파일 생성

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. 아래 내용을 복사하여 붙여 넣기 :

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. 파일 권한을 변경하려면 다음 명령을 실행하십시오.

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. USB를 통해 휴대폰을 연결하고 다음 명령을 실행하십시오.

    lsusb
    

    장치를 찾으십시오 (예 : Nexus 5).

    버스 003 장치 074 : ID 18d1 : 4ee7 Google Inc.

    들어 넥서스 5 , 공급 업체 ID는 18d1 나의 "버스에, 003 당신이 당신의 장치를 연결했을 때 변화가 표시되지 않는 경우" lsusb 아마 당신의 USB 케이블은 충전 전용입니다.

  5. 이제 다음 명령으로 규칙을 다시로드하십시오.

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. 장치가 이제 plugdev 사용자 그룹 액세스를 허용하는지 확인

    ls -l /dev/bus/usb/<bus number from step 4>
    

    예:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. adb 장치 를 실행 하여 권한이 올바른지 확인하십시오!

참고 : plugdev 그룹을 작성하지 않고 사용자 이름추가 한 경우 (권한이 거부 된 경우 다음 명령에 "sudo"를 추가하십시오) :

  1. plugdev 그룹 추가 :

    groupadd plugdev
    
  2. plugdev 그룹에 사용자 이름 을 추가하십시오 (useradd -G {group-name} username) :

    useradd -G plugdev billy
    
  3. udev를 다시 시작하십시오 (사용자 그룹을 업데이트하기 위해 로그 오프 한 후 다시 로그인해야 할 수도 있음).

    sudo service udev restart
    

/ : @EvanCarrol : 시작하기 전에 편집은 가장 (죄송 거부하지만 거기에 답을 적은 대신 명확의 명확 용)가 아닌 중간 단계를 0으로 만들어
Fabby

이 답변은 잘 작동합니다. 15.10으로 업데이트 한 후 재부팅 할 때마다이 작업을 수행해야합니다. 잘 작동합니다.
우리는 Borg

내가 그것을 섹시 답변이라고 부를 수 있습니까 ... 당신은 내 하루 감사 친구를 만들었 ...
Tushar Pandey

5

plugdev보다는 그룹을 시도하십시오 plugindev. 그런 다음 udev를 다시 시작하십시오.

sudo udevadm control --reload-rules
sudo service udev restart

그래도 문제가 해결되지 않으면 lsusb와 정확히 연결된 장치를 찾으십시오. 그런 다음 권한을 확인하십시오.

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

lsusb우리에게 준 사실 :

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

는 모바일이 장치 004로 버스 002에 연결되어 있음을 의미합니다 /dev/bus/usb/002/004. 따라서 udev는 장치 객체를 생성했습니다 .

명령을 사용하여 장치 권한을 알려주십시오.

ls -l /dev/bus/usb/002/004

임시 해결 방법으로이 명령을 사용하여 장치를 읽기 / 쓰기가 가능하도록 만들 수 있습니다 (휴대 전화가 연결되어 있는지 확인).

sudo chmod 666 /dev/bus/usb/002/004

그런 다음 adb devices다시 시도 하십시오.

또한 나는 udev 규칙의 끝에 당신이 가지고 있음을 알아 차렸다 OWNER="<username>". 당신은 실제로 그것을로 대체 OWNER="crazydeveloper"하지 않았습니까?

당신의 권한은 괜찮습니다. udev는 장치를 집어 들고 권한을 666으로 설정하고 그룹은 plugdev로 설정했습니다. 어떤 이유로 소유자를 crazydeveloper로 설정하지는 않았지만 그렇게 중요하지는 않습니다.

그룹 plugdev의 구성원인지 확인하십시오. 이 명령을 사용하십시오 :

sudo useradd -G plugdev crazydeveloper

그런 다음, 로그 오프하고 모바일을 분리 한 후 다시 로그온하여 연결 한 adb devices후 다시 시도 하십시오. 무슨 일이 일어나고 있는지 알려주십시오.


지금 질문을 참조하십시오 ..
사이 얀 왕자

지금 질문을 확인하십시오.
Saiyan Prince

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?나를 도와 주었다. 감사합니다 :) : D
Yash Sodha 18시 46 분

당신의 충고를 따랐지만 그것은 효과가 없었습니다. 작동 한 것은 장치가 제공하는 USB 옵션을 통해 전환하는 것입니다. MTP에서 PTP로 전환하십시오. 이것은 나를 위해 일했습니다.
George D

4

다음 두 가지를 변경해야합니다.

  1. 51-android.rules 파일에서 첫 번째 'ATTR {idProduct}'을 'ATTR {idVendor}'로 변경하십시오.

  2. 터미널에서 다음 명령을 실행하십시오.

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

51-android.rules에서 볼 수 있듯이 idProduct 매개 변수가 두 배이고 idVendor가 없으므로 간단한 이름 바꾸기를 시도하는 것은 사소한 실수 일 수 있습니다.


1

내 안드로이드 장치에는 USB 디버깅이 문제가있는 것처럼 보였으므로 개발자 설정으로 이동하여 끕니다. USB 케이블을 다시 꽂은 다음 USB 저장 장치를 켤 수있는 창이 나타납니다. 이로 인해 Ubuntu 14.04가 Android 장치를 감지했습니다. 모든 장치 에이 설정이 있는지 모르겠지만 다른 모든 방법을 시도했지만 문제가 해결되었습니다. 고맙습니다


0

우분투 14.04의 안드로이드 장치 (HTC one (M7))와 동일한 문제가있었습니다. 그래서 Windows 7.0으로 재부팅했습니다. 거기에서도 같은 문제가 발견되었습니다. 검색에서 다음 링크를 찾았습니다. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

그 링크에서 Gerry Anthony가 제안한대로 * # 7284 #로 전화를 걸었습니다. 그리고 그것은 Windows에서 작동했습니다. 우분투 14.04로 재부팅하고 내 안드로이드 장치가 감지되었습니다.


다음 사항도 확인하십시오. 안드로이드에서 USB 감지 문제 복구
Praveen

0

위에서 설명한 다른 잠재적 인 솔루션을 모두 시도한 후 HOX가 더 이상 랩톱과 통신하지 않기로 결정한 이유 (14.04)가 더 간단하고 기계적인 것으로 나타났습니다. 핸드셋의 마이크로 USB 소켓으로 연결되는 USB 리드에 결함이 있습니다. AsDa에서 구입 한 일반 제품보다 항상 단단하고 지속될 가능성이 적은 o / e 리드를 사용하여 정상적인 서비스를 다시 시작했습니다.

그런 다음 DMM을 사용하여이 상태가 정확히 어떻게되었는지 보여주었습니다. 해당 리드의 + 5V 공급 스트랜드의 저항이 거의 개방 된 지점으로 증가했습니다. o / e의 R 값, HTC 태그가 달린 리드의 + 5V 스트랜드는 죽은 단락보다 약간 더 저항력이 높았으며 마이크로 USB의 작동 또는 레이아웃에 특히 잘 맞지 않습니다. 데이터 전송 중 하나 또는 두 장치의 I / O 보드에있는 공급 레일이 데이터 전송에 하나 또는 두 소켓의 + 5V 부분을 사용한다고 가정 할 수 있습니다.

내가 여기서 배운 것 : 설치된 소프트웨어로 머리를 빼기 전에 더 간단한 물건을 먼저 확인하십시오. 결함이 처음으로 나타나기 전에 있던 것처럼 모두 모아졌습니다!

HTC-1, 낙농업 케이블 공급 업체-0.


-1

다음과 같아야합니다.

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

이것은 질문에 대한 답변을 제공하지 않습니다. 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
Fabby

@Fabby 이것은 나에게 질문에 대답하려는 시도를 보인다 ..
Seth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.