Dispositivos Android ADB não autorizados


93

Configuração:

  • Windows 8.1
  • Versão ADB: 1.0.32
  • Smartphone: Oneplus One

Problema

Eu instalei os drivers Samsung como é dito para fazer. Quando eu executo o comando de dispositivos ADB, ele diz não autorizado .

Já tentei:

  1. Fiz tudo o que foi dito neste post: https://stackoverflow.com/a/25546300/1848376

    Mas o problema é que não recebo um aviso no telefone dizendo que devo aceitar a conexão.

  2. Quando eu executo o comando adb shell, aqui está a resposta:

    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.

Eu fiz "adb kill-server", mas não mudou nada. Por quê?


Depois de tentar todas as opções acima, comecei a baixar AVDs inferiores para ver se algum outro funcionaria. API 28 e 27 ainda congelam durante a inicialização, mas API 26 começou imediatamente. Android Studio 3.1.3 Vou tentar desinstalar e reinstalar mais tarde, mas fico feliz que finalmente esteja funcionando novamente. Nova instalação do Android Studio 3.1 após uma nova instalação do Windows 10 após lidar com um erro crítico do processo por quase uma semana sem retificação.
Jon

Respostas:


208
  1. Tente revogar a autorização de DEBUGGING USB.
  2. Habilite a depuração USB novamente.

Funcionou.


8
Ao reativar a depuração de USB, pode ser importante marcar a caixa que diz sempre permitir a depuração de USB deste dispositivo. Acredito que essa opção só aparecerá se você tiver seu dispositivo Android conectado ao USB quando estiver reativando a depuração USB.
joshgoldeneagle

Eu só tive que desabilitar e habilitar a depuração de USB no meu dispositivo, depois de mudar para um novo computador (Macbook).
Nancy

Desconectar e reconectar deve ser seu primeiro movimento.
TGrif

Obrigado pela sua resposta. Você salvou meu tempo.
Kelvin Low

Nunca pensei que me deixaria cair na armadilha do "você tentou desligar e ligar de novo?" :)
jediz

45

Thankgod xda developers existem: http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

Apenas tive que deletar o arquivo adbkey em C: Users / $ Name / .android adbkey.pub estava faltando.

Reinicie depois disso e os dois arquivos estarão lá.

Se isso não funcionar: - Tente revogar a autorização de DEBUGGING USB. - Ative a depuração USB novamente.


1
onde está essa chave em um Mac?
mosaad de

1
> Reinicie depois disso e os dois arquivos estarão lá. Como na reinicialização? Estou no Windows e estou preso a um dispositivo "não autorizado" que simplesmente não desaparece! (Mas eu não reiniciei, porque 2 milhões de janelas abrem)
tbone

1
@tbone Eu sei que é uma resposta tardia, mas você só precisa reiniciar o servidor adb.
Carlos EL Augusto

2
excluiu tudo naquele arquivo e não apenas corrigiu o ADB pela rede, mas também o USB
Ben

2
renomeado para .android.oldestar no lado seguro, mas assim que reiniciei o servidor adb e revoguei as autorizações, meu telefone me avisou imediatamente! @julestruong obrigado!
Richard.Davenport

27

Em sequência:

    adb kill-server
  • na CONFIGURAÇÃO DO DISPOSITIVO, vá para opções do desenvolvedor e desabilite depuração usb

  • pressione REVOGAR autorizações de depuração USB, clique em OK

  • habilitar depuração de usb

    adb start-server

2
Executei o comando como root no Ubuntu e isso resolveu meu problema. Não foi possível fazer funcionar sem su (Ubuntu 18).
petobens de

20

Removi os seguintes arquivos da pasta ~ / .android :

  • adbkey
  • adbkey.pub

Desativei e habilitei ADB dentro do dispositivo e agora ele funciona ...


1
Eu só vi o adbkeyarquivo, então apaguei e funcionou perfeitamente. Obrigado!
Reeshabh Ranjan

18

nas opções do desenvolvedor,

  1. Ativar o USB depuração.

insira a descrição da imagem aqui

  1. Dê uma autorização.

insira a descrição da imagem aqui

(se não houver um menu de opções do desenvolvedor, você deve clicar 3 vezes no número de compilação do menu Estado do telefone para ser desenvolvedor. Você pode consultar um menu de opções do desenvolvedor.)

insira a descrição da imagem aqui


8

Excluir adbkeys existentes

OU

Renomear adbkeys

A prática recomendada é renomear as chaves porque isso fornece backup.

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

Próxima parada e inicia o servidor

cd ~/Android/Sdk/platform-tools

Localize o dispositivo /Android/Sdk/platform-tools$ ./adb devices

/Android/Sdk/platform-tools$ ./adb kill-server

/Android/Sdk/platform-tools$ ./adb start-server

Em seguida, pare o emulador Abra o gerenciador de AVD, clique na seta para baixo e em limpar dados

Reinicie o emulador. Então tudo funciona bem :)


5

Experimente desmarcar "verificar aplicativos via USB" nas opções do desenvolvedor e depois ligar e desligar a "Depuração USB". Funciona comigo.


Este método funcionou para mim: Minha "depuração de USB" estava ativada no início, então eu desmarco "verificar aplicativos via USB", mas isso não ajuda. Depois de ligar o "USB Debugging", funcionou!
Jackie Yeh

4

Certifique-se de ter aceitado o botão "ok" pressionado quando ele está pedindo, está mostrando a impressão digital do dispositivo após conectar através de USB ao seu PC.


2
Eu me pergunto se as pessoas que votaram em outras respostas realmente verificaram a tela do dispositivo ...
Skippy le Grand Gourou

LOL Eu me senti muito idiota quando olhei para o meu telefone
Jack St. Claire

4

No Android Studio, Run menu > RunmostraOFFLINE ... para o dispositivo conectado.

Abaixo está o procedimento seguido para resolvê-lo:

  1. (Leia a nota abaixo primeiro) Exclua o ~/.android/adbkey(ou, renomeie para ~/.android/adbkey2, é ainda melhor caso você queira de volta por algum motivo)
    Nota : Acontece que eu fiz essa etapa, mas não resolveu o problema, depois de fazer todas as abaixo as etapas funcionaram, portanto, não tenho certeza se esta etapa é necessária.

  2. locate platform-tools/adb
    Nota de execução : use o caminho que vem daqui nos comandos abaixo

  3. Matar servidor adb:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Você receberá uma Allow accept..mensagem pop-up no seu dispositivo. Aceite isso. Isso é importante, o que resolve o problema.

  5. Inicie o servidor adb:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. No Android Studio, faça Run menu > Runnovamente.
    Ele mostrará algo como Samsung ...(nome do fabricante do seu telefone).
    Também instala o apk no dispositivo corretamente, desta vez, sem erros.

Espero que ajude.


2
  1. Remova primeiro o adbkeye adbkey.pubdo .androiddiretório em seu diretório inicial.
  2. Faça .androiddiretório em sua casa com 710 permissões: $ chmod 710 .android/ea propriedade como: chown -R <user>:<user> .android/. Ex:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
  3. Vá para as opções do desenvolvedor em seu celular e toque na opção Revoke USB debugging authorizations

  4. Desligue todo USB Debugginge Developer Optionsno dispositivo e desligue o aparelho da sua máquina.

  5. Conecte o dispositivo novamente e primeiro ligue o Developer Options. Em seguida, ligue o USB debugging.

  6. Neste ponto do seu celular, você receberá um aviso solicitando sua permissão. Nota: você deve marcar a always accept from this ….opção da caixa de seleção e clicar em ok.

  7. Agora em sua máquina, inicie o servidor adb: adb start-server.

  8. Esperançosamente quando você emitir o comando: adb devicesagora, você verá seu dispositivo pronto autorizado.


1

Eu também fui atingido por esse problema. Estou usando minha versão personalizada do AOSP no Nexus 5X. Eu adicionei uma única linha em build / core / main.mk:

diff --git a/core/main.mk b/core/main.mk
index a6f829ab6..555657539 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -362,6 +362,8 @@ else # !enable_target_debugging
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
 endif # !enable_target_debugging

+ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
+
 ## eng ##

 ifeq ($(TARGET_BUILD_VARIANT),eng)

Agora adb shellfunciona bem

Esses materiais são úteis (artigos chineses): http://www.voidcn.com/blog/kc58236582/article/p-6335996.html , http://blog.csdn.net/fanmengke_im/article/details/28389439



1

Nenhum dos métodos listados nesta página funcionou para mim; especificamente:

  • Eu tive um problema de falha do aplicativo Configurações ao selecionar Revogar autorizações de depuração USB
  • Eu estava executando o LineageOS 14 x86_64
  • Eu estava usando ADB na rede
  • O /data/misc/adbnão continha nenhum adb_keysarquivo
  • Remover meu local ~/.android/adbkeytambém não ajudou
  • Tive acesso root no terminal local
  • Eu não estava recebendo nenhuma caixa de diálogo de confirmação
adb: error: failed to get feature set: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
- waiting for device -

No final, achei um post muito útil aqui que sugeria colocar manualmente o conteúdo do ~/.android/adbkey.pubdentro do /data/misc/adb/adb_keysarquivo.

Eles sugeriram um destes dois métodos:

  1. De outro dispositivo em funcionamento , copie o adb_keysarquivo para o seu computador:

    # On the other Android device
    cp /data/misc/adb/adb_keys /sdcard
    # From your computer
    adb pull /sdcard/adb_keys .

    Em seguida, coloque o adb_keysarquivo de trabalho no sdcard do dispositivo Android problemático (usando Web ou MTP) nomeado como adb_keyse copie o arquivo para o caminho correto:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
  2. O outro método é simplesmente copiar a sua máquina do adbkey.pubdo ~/.android/diretório, e colocá-lo em sdcard do dispositivo Android problemática (usando Web ou MTP) nomeado como adb_keys, em seguida, copiar o arquivo para o caminho correto:

    # On the problematic device
    cp /sdcard/adbkey.pub /data/misc/adb/adb_keys

    (Observação: há uma resposta semelhante no SO que fornece mais detalhes para esse método.)

Como eu estava executando um servidor da web em meu computador e tinha curlinstalado no Android, eu fiz sua partir do terminal e executei o seguinte em meu dispositivo Android:

cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys

Matou o adbdaemon (usando adb kill-server) e BAM ! O adbshell funcionou bem, como deveria ter sido desde o início.

Felizmente, o método descrito aqui funciona para você da mesma forma que funcionou para mim.


1

Seu aplicativo está sendo detectado como algum programa prejudicial. Desative a opção "Verificar aplicativos por USB". Está na mesma visão que "depuração USB".


0

Tudo que você precisa é autorizar o modo de depuração.
1. certifique-se de que seu dispositivo está conectado ao seu PC.
2. Permita autorizado para o modo de depuração através do Android-Studio indo em
Executar -> Anexar depurador ao processo Android, então
você verá a janela pop-up para permitir o modo de depuração em seu dispositivo,
pressione OK. feito.
Espero que ajude alguém.


0

Eu tive o mesmo problema depois de reinstalar meu estúdio android. Aqui está o que fiz para fazer meu adb funcionar novamente:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.

0

para qualquer um que encontrar isso mais tarde, isso também pode ajudar. Eu encontrei exatamente esse problema ao tentar usar o adb em um prompt de comando do usuário e as respostas acima não ajudaram, mas o problema foi embora com um "adb kill-server" ao ser executado em um prompt de comando do administrador.


0

Isso funcionou para mim:

rm ~ / .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb -s emulator-5554 install ~ / apk_to_install.apk

Não tenho certeza se é uma boa ideia executar o adb com privilégios de sudo, mas foi a única maneira de fazer isso funcionar. Saudações.


0

Eu consegui isso como root quando, como um usuário não root, estava recebendo erros de permissão ao tentar me conectar à recuperação personalizada (Philz). então, matei o servidor adb, copiei o subdiretório .android da minha conta de usuário em / root, chowned -R para root.root e reiniciei o servidor adb. Estou dentro!


-1

Suponho que você tenha habilitado as Opções do desenvolvedor no dispositivo em seu smartphone. Se não, você pode dar uma olhada nas etapas fornecidas pelo Android, http://developer.android.com/tools/device.html#developer-device-options


Sim, liguei e também desliguei e liguei.
julestruong

de acordo com este link ( code.google.com/p/android/issues/detail?id=175077 ), parece que "platform tools 23 rc1" tem esse problema. Você pode encontrar versões de ferramentas de plataforma com o cmd "$ adb version". O link diz que voltar para a versão 22 das ferramentas de construção corrige o problema.
Dhunju_likes_to_Learn

Baixei o plateform tools 22 e o substituí no diretório sdk, mas não funcionou (a versão adb parece ser a mesma)
julestruong

-1

Para FIRE STICK 4K, ele realmente diz na caixa de diálogo:

Caso contrário, verifique se há uma caixa de diálogo de confirmação no seu dispositivo

Na verdade, na TV na outra sala havia um diálogo de confirmação. Doh '!


1
Talvez isso possa ser um comentário lateral à pergunta, mas não é uma resposta, pois a pergunta está relacionada a um tipo diferente de dispositivo.
Jairo

-2

Eu tive esse problema e ele não foi resolvido pela exclusão de nenhuma chave (pelo menos excluí-las não corrigiu, mas talvez tenha tido um efeito depois que eu corrigi)

Na verdade, tive uma discrepância entre a minha versão do SDK-tools e a minha versão do Android Studio. Depois de atualizar minhas ferramentas ainda não funcionou, mas depois de atualizar o AS (para 1.4) tudo funcionou bem novamente.

Sempre atualize as ferramentas sdk e a versão AS juntas;)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.