O Ubuntu não está detectando meu dispositivo Android

34

Sou novo no Android. Acabei de baixar e instalar o Android SDK. Agora, quando executo o aplicativo no eclipse, meu dispositivo não está sendo detectado. Eu pesquisei no Google e fui criado com isso como minha solução, mas isso também não funcionou.

Aqui está o 51-android.rules

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

Depois disso, reiniciei meu laptop e executei este comando:

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

A saída que recebo é:

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

EDITAR

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:~$ 

Editar: 2

Após a resposta enviada aqui está a saída que eu tenho:

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

Estou usando o Micromax Canvas 2.2 A114 - Versão Android 4.2.2

Por favor me ajude. Obrigado.

Saiyan Prince
fonte
2
A depuração USB está ativada no Android?
Jon Hanna
Sim. está ligado.
Saiyan Prince
11
possível duplicata de Como configurar o acesso ADB para dispositivos Android?
LiveWireBT
11
Deve ser SUBSISTEMA, singular.
Pakman

Respostas:

42

OK, aqui estão todas as etapas para fazer isso funcionar. Tive problemas com todas as respostas que encontrei on-line, em partes por toda parte, sem uma ordem determinada e nenhuma solução de trabalho (executando o Android Studio, Jmonkey 3D e Ubuntu 14.04)

Se os dispositivos adb mostrarem o dispositivo Android como ????????? (sem permissões) siga estas instruções:

  1. criar arquivo /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. copie e cole o conteúdo abaixo:

    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. Execute o seguinte comando para alterar as permissões do arquivo:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. conecte seu telefone via usb e execute o seguinte comando:

    lsusb
    

    Procure o (s) exemplo (s) de seu dispositivo (Nexus 5):

    Dispositivo 004 do barramento 003: ID 18d1 : 4ee7 Google Inc.

    Para o Nexus 5 , o ID do fornecedor é 18d1 , o meu está no barramento " 003 ". Se você não vê uma alteração ao conectar seu dispositivo com lsusb , talvez o cabo USB seja apenas de carga.

  5. Agora recarregue as regras com os seguintes comandos:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Verifique se o dispositivo agora está permitindo acesso ao grupo de usuários plugdev

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

    Exemplo:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. Execute dispositivos adb para confirmar se as permissões estão corretas e divirta-se!

Nota: se você não criou o grupo plugdev e adicionou seu nome de usuário (se a permissão negada, adicione "sudo" nos seguintes comandos):

  1. Adicione o grupo plugdev:

    groupadd plugdev
    
  2. Adicione seu nome de usuário ao grupo plugdev (useradd -G {nome do grupo} nome de usuário):

    useradd -G plugdev billy
    
  3. Reinicie o udev (pode ser necessário efetuar logoff e logon novamente para atualizar o grupo de usuários):

    sudo service udev restart
    
JJB
fonte
@EvanCarrol: sua edição é melhor executada na etapa 0 antes de começar, não no meio (desculpe por rejeitar, mas está deixando a resposta menos clara do que clara): /
Fabby
Esta resposta funciona bem. Após a atualização para 15.10, eu tenho que fazer isso após cada reinicialização. Works awesome.
Estamos Borg
Posso chamá-lo Sexy resposta ... você fez o meu dia graças amigo ...
Tushar Pandey
5

Tente o grupo em plugdevvez de plugindev. Em seguida, reinicie o udev:

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

Se isso não funcionar, descubra onde exatamente o seu dispositivo está conectado ao lsusb. Em seguida, verifique as permissões:

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

O fato que lsusbnos deu:

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

significa que seu celular está conectado ao barramento 002 como um dispositivo 004. Portanto, o udev criou um objeto de dispositivo /dev/bus/usb/002/004.

Por favor, mostre-nos as permissões do dispositivo usando o comando:

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

Como solução temporária, você pode tornar o mundo do dispositivo legível / gravável com este comando (verifique se o telefone está conectado):

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

Então tente adb devicesnovamente.

Também notei que no final da regra do udev você possui OWNER="<username>". Você realmente substituiu isso por OWNER="crazydeveloper", não foi?

Suas permissões estão bem. O udev pegou o dispositivo e definiu suas permissões para 666 e o ​​grupo para plugdev. Não definiu o proprietário como desenvolvedor louco por algum motivo, mas isso não é tão importante.

Verifique se você é um membro do grupo plugdev. Use este comando:

sudo useradd -G plugdev crazydeveloper

Em seguida, faça logoff, desconecte o celular, faça logon novamente, conecte-o e tente adb devicesnovamente. Vamos saber o que está acontecendo.

surf
fonte
por favor, veja a pergunta agora ..
Saiyan Prince
confira a pergunta agora.
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 ?Me ajudou. Obrigado :): D
Yash Sodha
Seguiu o seu conselho, mas não funcionou para mim. O que funcionou foi alternar entre as opções USB fornecidas pelo dispositivo, tente mudar para PTP do MTP. Este funcionou para mim.
George D
4

Você tem que mudar duas coisas:

  1. Altere o primeiro 'ATTR {idProduct}' para 'ATTR {idVendor}' no arquivo 51-android.rules.

  2. Execute estes comandos no terminal:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    
user351123
fonte
3

Talvez seja um erro trivial, como posso ver nas 51-android.rules que você duplicou o parâmetro idProduct e não há idVendor, tente renomear simples.

user1239927
fonte
1

Meu dispositivo Android tinha a depuração USB, o que parecia ser um problema, então fui às configurações do desenvolvedor e o desativei. Conectei o cabo USB e, em seguida, uma janela apareceu, o que me permitiu ativar o armazenamento USB. Isso fez o meu Ubuntu 14.04 detectar o dispositivo Android. Não sei se todos os dispositivos têm essa configuração, mas isso resolveu o meu problema, enquanto eu tentava todos os outros métodos. Obrigado

Stamos
fonte
0

Eu tive o mesmo problema com o meu dispositivo Android (HTC one (M7)) no ubuntu 14.04. Então, eu reiniciei o Windows 7.0. Também encontrou o mesmo problema. Na pesquisa, encontrei o seguinte link. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

Eu disquei * # 7284 # como sugerido por Gerry Anthony nesse link. E funcionou no Windows. Reiniciei o Ubuntu 14.04 e meu dispositivo Android foi detectado.

Praveen
fonte
Verifique também o seguinte. Problemas de detecção de Reparação USB no Android
Praveen
0

Depois de tentar todas as possíveis soluções detalhadas acima e em outros tópicos de outros fóruns, descobri que o motivo pelo qual o meu HOX decidiu não se comunicar mais com o meu laptop (14.04) era mais simples e mecânico. O cabo USB do soquete micro USB do aparelho estava com defeito. Usando o chumbo o / e que sempre parecia mais rígido e com menor probabilidade de durar do que o genérico comprado no AsDa, o serviço normal foi retomado.

O DMM foi então empregado para mostrar como exatamente esse estado de coisas havia acontecido: A resistência da cadeia de suprimento de + 5V nesse eletrodo aumentou até o ponto em que quase se lia. O valor R do o / e, o cabo com + 5V do chumbo marcado com HTC era apenas um pouco mais resistente do que um short curto seria e não estando especialmente bem no funcionamento ou no layout do micro USB não, eu não conseguia entender como isso afetava a transferência de dados pode apenas assumir que o trilho de suprimento na placa de E / S em um ou ambos os dispositivos também usa a parte de + 5V de um ou ambos os soquetes para transferência de dados.

O que aprendi aqui: verifique primeiro as coisas mais simples, antes de arrancar o cabelo e não chegar a lugar algum com o software instalado, que foi recuperado como antes da manifestação da falha em primeiro lugar!

HTC - 1, fornecedor de cabos da Associated Dairies - 0.

user171850
fonte
-1

Deve ser assim:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"
Yinkai Chen
fonte
Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos a um autor, deixe um comentário abaixo da postagem - você sempre pode comentar em suas próprias postagens e, quando tiver reputação suficiente , poderá comentar em qualquer post .
Fabby
@Fabby Isso parece uma tentativa de responder à pergunta para mim ..
Seth