Nexus 7 não visível por USB via "dispositivos adb" do Windows 7 x64

182

Fiz o óbvio - o driver USB foi instalado a partir do mais recente SDK do Android e a depuração USB foi ativada no tablet.

Quando o Nexus 7 está conectado, o dispositivo aparece no Gerenciador de dispositivos do Windows como "Telefone Android" / "Dispositivo ADB composto Android", com as propriedades mostrando a versão do driver 6.0.0.0, para que o driver correto esteja instalado e funcionando.

Isso também prova que o dispositivo está no modo de depuração USB, porque, se não estiver, é exibido no Windows em "Dispositivos portáteis" / "Nexus 7".

O problema é que adb devicesnão mostra dispositivos, e o Eclipse também (sem surpresa) também não oferece o Nexus 7 como dispositivo de hardware para executar um aplicativo.

Eu reiniciei os dois dispositivos sem efeito.

A única depuração que consigo descobrir é habilitar ADB_TRACE=all, mas isso não me diz nada:

mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ export ADB_TRACE=all

mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ adb devices
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::adb_query():adb_query: host:devices
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 100
system/core/adb/transport.c::writex():writex: fd=100 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=100 len=12: 686f73743a76657273696f6e host:version
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 100
system/core/adb/adb_client.c::adb_connect():adb_connect: service host:devices
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303034 0004
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303164 001d
system/core/adb/sysdeps_win32.c::adb_close():adb_close: 100(lo-client:5037)
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:devices
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 101
system/core/adb/transport.c::writex():writex: fd=101 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=101 len=12: 686f73743a64657669636573 host:devices
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 101
system/core/adb/adb_client.c::adb_connect():adb_connect: return fd 101
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
30303030 0000
system/core/adb/transport.c::readx():readx: fd=101 wanted=0
system/core/adb/transport.c::readx():readx: fd=101 wanted=0 got=0

system/core/adb/sysdeps_win32.c::adb_close():adb_close: 101(lo-client:5037)
List of devices attached
***NOTHING SHOWN*****

O que estou fazendo de errado?

Mike Hanafey
fonte
12
Vá para Configurações -> Sobre o tablet. Toque em "Build number" sete vezes. Voila.
Sharief Shaik
1
Depois de tocar no número da compilação 7 vezes, você verá uma nova opção chamada 'Opções do desenvolvedor' na configuração. A partir daí, eu também tive que ativar a depuração USB. Opções do desenvolvedor> Depuração USB.
Quazi Irfan
1
Vale a pena acrescentar se tudo mais falhar, tente outro cabo USB! Eu tinha a depuração USB do modo de desenvolvedor ativada e tentei todas as opções de armazenamento USB, mas era necessária uma simples troca de cabo.
David Douglas

Respostas:

268

Quando o Nexus 7 está conectado, há uma notificação persistente que indica " CONNECT AS / Media Device (MTP) ". Nesse estado adb devices, não será exibido o Nexus ou, sem dúvida, qualquer outro dispositivo. Não é exatamente óbvio, mas se você selecionar a segunda opção "Câmera (PTP)", o dispositivo estará disponível para depuração (a lição é ignorar a câmera e focar no protocolo PTP).

Essa configuração é persistente e acho que, com um dispositivo novo, ele será conectado como MTP até que seja informado o contrário.

Obrigado a @Ciaran Gallagher Settings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

Mike Hanafey
fonte
3
Eu tenho que concordar - após horas pesquisando, alterando drivers, etc etc - Foi apenas o acima (alterando para PTP) que permitiu que meu Nexus 7 aparecesse. Agora, adicionando suporte para meus aplicativos para tablets - Muito obrigado!
Robbe
6
Como mudar para o modo Câmera (PTP) depois de selecionar o modo errado?
Seun Osewa 13/09/12
5
Muito obrigado. mais alguns minutos e meu nexus7 voaria pela janela seguindo meu WindowsPC.
Ovidiu Latcu 3/11
38
Para qualquer pessoa que esteja se perguntando como alternar para o modo Câmera, vá para 'Configurações' e, na seção 'Dispositivo', clique em 'Armazenamento', clique na elipse no lado direito do painel de cabeçalho e clique em 'USB conexão do computador 'e, na seção' Conectar como ', marque a opção' Câmera (PTP) 'e, em seguida, ele funcionará.
Ciaran Gallagher
1
@OMA Atualização adicional: eu precisava pegar um NVidia Shield e testar meu aplicativo nele, mas ele não possui um modo PTP. Ele não apareceu, exatamente como eu esperava (já que nenhum dos meus outros dispositivos estava aparecendo no modo MTP nesse sistema de desenvolvimento). Um pouco brincando com o arquivo .inf, além de excluir e reinstalar drivers, acabou fazendo com que funcionasse no modo MTP. Eu acho que foi mudar o ID do dispositivo correspondente de "CompositeAdbInterface" para "SingleAdbInterface" que fez o truque, embora eu não pudesse jurar.
SomeCallMeTim
77

Confira a publicação do blog Nexus 7 Android development, que tem as etapas detalhadas.

Zack Dawood
fonte
2
Existem algumas coisas que precisam ser verificadas / erradas, e isso parece abranger o lote - foi corrigido para mim. Tanta coisa para plug'n'play, não é?
winwaed 01/10/12
2
Sim, nós, tipos de desenvolvedores de software, temos que lidar com muita porcaria. Caso contrário, ninguém pensaria que somos legais.
Ruairi O'Brien 04/10/12
Artigo excelente, apenas faltando notas sobre as configurações ocultas do desenvolvedor do user140525
Martin Belcher - AtWrk 12/02/2013 -
Uau, obrigada! O que faltava na solução do Mike é corrigir o driver no gerenciador de dispositivos com o caminho do Android SDK. Agora funciona.
Ixx 14/04
esse link resolveu meu problema; a etapa "Instalação do driver USB do Windows7 para nexus7" era necessária no meu Windows 10 dev sustem
Alguém em algum lugar
74

Além de definir o modo de conexão / armazenamento USB como "Câmera (PTP)", também tive que ativar o modo de desenvolvedor, que está oculto desde o 4.2.

  1. Vá para o menu Configurações e role para baixo até 'Sobre o telefone / tablet'. Toque nele.
  2. Role para baixo até o final novamente, onde você vê 'Build number'.
  3. Toque sete (7) vezes. Após o terceiro toque, você verá uma caixa de diálogo divertida que indica que você está a quatro torneiras de ser um desenvolvedor. Continue tocando e você terá as configurações do desenvolvedor.
  4. Agora, em Configurações, há 'Opções do desenvolvedor'. Toque nele.
  5. Toque em 'Depuração USB' para habilitá-lo.

Fonte: Como habilitar as configurações do desenvolvedor no Android 4.2

MotohawkSF
fonte
4
Essa resposta deve ser votado como ele foi fundamental para me resolver esta questão
TechnoTony
1
Sim, isso junto com a resposta real corrigiu meu problema. Obrigado :)
mac
1
As opções de depuração foram desativadas automaticamente quando também mostrei uma das últimas noites do CyanogenMod no meu Samsung Nexus. Eu tive que fazer o mesmo para reativá-los. OBRIGADO por esta explicação e ajuda.
Giorgos Keramidas
Obrigado cara, você salvou o dia. Eu acho que eles poderiam ter escondido um pouco mais. Como alguma ativação de voz adicional. Abra o gergelim ou algo assim.
Tibor Szasz
68

Para corrigir / instalar o driver USB do Android no Windows 7/8 de 32 bits / 64 bits :

  1. Conecte seu dispositivo Android à porta USB do seu computador.
  2. Clique com o botão direito do mouse em Computador na área de trabalho ou no Windows Explorer e selecione Gerenciar .
  3. Selecione Dispositivos no painel esquerdo.
  4. Localize e expanda Outro dispositivo no painel direito.
  5. Clique com o botão direito do mouse no nome do dispositivo ( Nexus 7 / Nexus 5 / Nexus 4 ) e selecione Atualizar driver . Isso iniciará o Assistente para atualização de hardware.
  6. Selecione Procurar no meu computador pelo software do driver e clique em Avançar.
  7. Clique em Procurar e localize a pasta do driver USB. (O driver USB do Google está localizado em <sdk>\extras\google\usb_driver\.)
  8. Clique em Avançar para instalar o driver.

Se ainda assim não funcionar, tente mudar de MTP para PTP .

MTP -> PTP

Danpe
fonte
5
Muito obrigado, mas o driver deve ser baixado via SDK Manager primeiro
Andrey Vorobyev
Muito obrigado pelo guia passo a passo, ele trabalhou no Nexus 4
Raymond Chenon 27/03
Esta é a única coisa que me ajudou a conseguir meu aplicativo instalado no meu Nexus 7.
midiwriter
foi uma combinação de muitos desses pontos. este foi o último para mim.
Noelnoegdip
1
Consegui fazê-lo funcionar usando a técnica. Se você selecionar a pasta adt (apenas adt-bundle-blahblahblah) ou apenas as janelas da pasta "sdk", seguirá a estrutura de diretórios procurando o arquivo do driver. Menos navegação :) Obrigado!
18713 Andrewktmeikle
13

Descobri que você também pode fazer o Gerenciador de dispositivos -> Atualizar software de driver -> Navegar no meu computador por software de driver -> Deixe-me escolher uma lista de drivers de dispositivo no meu computador -> Telefone Android -> [versão do driver ADB 6 perto da parte superior da lista ... desculpe, não me lembro o nome exato]

Assim que eu fiz isso, ele se conectou e eu pude carregar a versão 4.2 no Windows 7 de 64 bits.

Amos
fonte
1
Para quem chegou aqui procurando o mesmo problema com o nexus 4, isso resolve o problema. Basta escolher o driver samsung adb padrão com o número de versão mais alto. Eu sei que o nexus 4 é um dispositivo LG, mas é o mesmo controlador host USB.
Melodiouscode
8

Estou usando o Nexus 7 (4.2) no Windows 7 x64. Nenhum dos outros métodos descritos aqui funcionou para mim. A guia já estava no modo PTP. Finalmente, eu consegui fazê-lo funcionar quando adicionei a linha abaixo ao 'android_winusb.inf' em <android-sdk> \ extras \ google \ usb_driver e fiz um 'driver de atualização':

%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&REV_9999&MI_01

Para obter a identificação exata do hardware (USB \ VID_18D1 & PID_4E44 & REV_9999 & MI_01 no meu caso), você pode ir para Gerenciamento do computador -> Gerenciador de dispositivos -> guia Detalhes -> selecione ID do hardware na lista suspensa.

dotrc
fonte
7

Eu tive um problema semelhante e tentei as outras sugestões.

Utilizando o driver PdaNet no download de http://www.junefabrics.com/android/download.php, foi o que finalmente fez o trabalho e me permitiu finalmente me conectar via ADB. Antes de instalar o driver a partir daqui, não consegui reconhecer meu Nexus para carregar o novo Android 4.2 no meu dispositivo.

Estou executando o Windows 7 de 64 bits com o meu Nexus 7.

user1821949
fonte
Estou executando o Sony Xperia L (C2105) e consegui isso funcionando. Basta instalar a partir do site, depois instalar no seu dispositivo (talvez você nem precise disso), verifique se está com a depuração usb ligada e, se não conectar, tente reconectar o micro-usb várias vezes (a minha estava coberta de poeira :-))
Igor L.
5

Eu tive problemas semelhantes e descobri que desmarcar todas as opções (MTP e PTP) permitia ao dispositivo obter a impressão digital RSA do meu computador e depois desse ponto "dispositivos adb" funcionavam.

Lembre-se de que a impressão digital RSA deve ser aceita antes que um dispositivo Android 4.2 ou superior possa se conectar via ADB, obviamente por razões de segurança.

seattleandrew
fonte
2
Desmarcar AMBOS MTP e PTP funcionou e o dispositivo apareceu após executar o comando: adb devices. Em seguida, o dispositivo solicitou a impressão digital RSA. Awesome thanks!
precisa
1
1. desconecte o USB, 2. desmarque MTP e PTPT, 3. reconecte >> obtenha o prompt do RSA
yano
5

Tente isso. Se o seu dispositivo não estiver sendo detectado, use PdaNet. Você pode baixá-lo aqui . Faça o download e instale na sua máquina. Conecte seu telefone. Ele detecta automaticamente o driver da Internet.

Akshay
fonte
Isso resolveu para mim quando nada mais o fez, depois de horas pesquisando e mexendo por aí. Eu tenho o Windows 7 de 64 bits, Nexus 7 e uso a versão 6 dos drivers USB do SDK. Obrigado!
Mesocyclone
1

O driver PDANet foi a única solução para eu conectar com sucesso ao Google Galaxy Nexus 4.2.1 no Windows 7 x64, que estava rejeitando / ignorando os drivers USB oficiais do mais recente 4.2 ADK (revisão 7) - http://junefabrics.com/android/ index.php

user1908464
fonte
1

No meu caso, tive dois problemas:

  1. Meu PC conseguiu um driver "Samsung Galaxy II" anterior e o atribuiu ao meu Nexus 7. Eu precisava desinstalá-lo várias vezes. Finalmente, pude ligar o driver Nexus 7 correto.

  2. A necessidade de definir a opção PTP.

Deisbel R Diaz
fonte
1

Eu também tenho um Nexus 7 e Windows 7 de 64 bits e consegui o ADB trabalhando tropeçando neste tópico e em outros cerca de um mês atrás. Então parou de funcionar. A única coisa estranha que me lembro de ter acontecido antes foi o Windows instalando alguns drivers Bluetooth ao iniciar (não tenho dispositivos Bluetooth).

Eu me atrapalhei por um dia dessa vez. Agora está funcionando novamente! A última coisa que fiz foi usar o Gerenciador de dispositivos para "desativar" o dispositivo e reiniciar.

user3078188
fonte
1

Eu tinha um driver HTC One instalado e achei que esse era o motivo para não funcionar. No entanto, descobriu-se que o motivo foi que eu desabilitei o MTP / PTP.

Não encontrei o local para as configurações, mas encontrei Como configurar o USB no seu Nexus 7 .

É bastante confuso para mim, está na guia Armazenamento . MTP ou PTP funciona para mim.

chrisky
fonte
0

Outra opção é se as atualizações do Windows estiverem totalmente desativadas no seu PC. Nesse caso, mesmo se você baixar o driver USB e tentar atualizá-lo manualmente, conforme descrito acima, ele não funcionará. A única maneira, neste caso, é permitir que o Windows atualize os drivers automaticamente. Depois de habilitar isso, remova o driver que não está funcionando do gerenciador de dispositivos e conecte seu tablet ao PC via cabo USB. Os drivers serão baixados e instalados automaticamente pelo Windows. Dessa forma, funcionou no meu PC com Windows 7.

Eliyahu
fonte
0

Estou no Win 7 de 64 bits e vejo que a maioria das pessoas com o mesmo problema aqui também está no 64 bits. Para descartar o hardware e o sistema operacional, usei o VMware para executar o Win 7 de 32 bits no mesmo PC. Exceto por ter que editar o arquivo .inf com o VID / PID correto, tudo correu perfeitamente no Win 7 de 32 bits, o que indica que o PC está bem e o Win 7 de 32 bits também.

Voltando ao meu Win 7 de 64 bits, nenhuma das sugestões acima funcionou para mim. No entanto, notei uma coisa: o ADB está instalado em Arquivos de Programa (x86), mas o instalador do driver está instalando o de 64 bits. O Win 7 de 64 bits está reconhecendo o Nexus 7 como interface ADB composta do Android, mas o ADB não o detecta.

Então, existe uma versão de 64 bits do ADB em algum lugar? se minha instalação estiver em (x86) no Win 7 de 64 bits, isso significa que eu estraguei a instalação em algum lugar.

Meu problema estaria relacionado aos drivers USB de 64 bits instalados, mas o ADB é de 32 bits?

Outro problema que notei quando o driver USB do Nexus 7 é instalado nas Propriedades. Só vejo a Interface do Android Composite ADB para as funções do dispositivo. Em Win 7, as propriedades de 32 bits mostram 3 funções do dispositivo.

Win 7 64b Win 7 32b

parece que o problema ainda é o driver USB.

Gilson
fonte
0

A solução que pareceu corrigir isso para mim, além do PTP, não é a seleção Always allow from this computerao permitir a depuração USB. Revogar as autorizações e aceitar manualmente cada vez que o dispositivo estiver conectado corrigiu isso para mim. ( Settings -> Developer options -> Revoke USB debugging authorisations)

Chris Brown
fonte
0

Para aqueles que, com o Nexus 5x, apenas veem Kedacom usb deviceno Gerenciador de dispositivos e não conseguem adb para ver o telefone ... o truque é Update driver...no dispositivo Kedacom e alterá-lo para "Interface / dispositivo Android ADB"

Jack Ukleja
fonte