AdbCommandRejectedException: permissões insuficientes para o dispositivo: usuário no grupo plugdev; suas regras do udev estão erradas?

27

Há cinco dias, instalei o Android Studio em um Ubuntu 2018.04 totalmente atualizado, usei o assistente para criar um aplicativo de exemplo, pressionei o botão "Executar" e ele funcionou perfeitamente no meu dispositivo Android conectado via USB.

Hoje, no mesmo Ubuntu e com o mesmo dispositivo conectado, abri o mesmo projeto e pressionei "Executar" novamente. Agora ele falha:

Launching Application
$ adb push /home/nico/src/ActionBarCompat-Basic/Application/build/outputs/apk/debug/Application-debug.apk /data/local/tmp/com.example.android.actionbarcompat.basic
com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: user in plugdev group; are your udev rules wrong?
See [http://developer.android.com/tools/device.html] for more information
Error while Installing APK

Não modifiquei intencionalmente nenhuma configuração do Ubuntu nem atualizei o sistema operacional.

Qual poderia ser o problema?
Como investigar mais?

Nicolas Raoul
fonte

Respostas:

40

Este procedimento resolve o problema para mim:

  • No dispositivo Android, arraste o menu superior e selecione "USB para transferência de arquivos"
  • Pressione "Executar" novamente

Pode ser acidental, mas sempre funcionou (cerca de 50 vezes) até agora.

Nas versões recentes do Android, o nome do item de menu e de escolha mudou um pouco, mas ainda funciona para mim.

Nicolas Raoul
fonte
2
Obrigado! Funciona para mim. Quando escolho apenas a depuração USB, ele não funciona, mas quando escolho a transferência de arquivos USB, o aplicativo é executado instantaneamente.
Pramod Gharu
16

Em resumo: o grupo do dispositivo USB rootnão é plugdev.

Adicionando um arquivo /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0660", 
GROUP="plugdev", SYMLINK+="android%n"

( lsusb18d1:d002)

E conectar e sair fez o trabalho para mim. Agora, o dispositivo está no plugdevgrupo.

( fonte )

Do utilizador
fonte
Isso resolve o problema para mim
dmSherazi
6

Eu estava recebendo um erro semelhante devido às regras do udev não estarem configuradas:

kirk@laptop:~$ adb devices
List of devices attached
FA7240300631    device
FA7240300631    no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

Consegui contornar isso executando:

adb kill-server && adb start-server

mas isso não era de todo ideal. Corrigi-o instalando:

sudo apt install android-tools-adb

Qual é um conjunto padrão de regras do udev mantido pela comunidade.

fonte

Kirk
fonte
0

Como um deles mencionou, remover o cabo USB do laptop e reconectá-lo fez o truque para mim. (Talvez eu tenha ativado a USB Debuggingopção depois que a conectei pela primeira vez, daí o erro)

Rocky Inde
fonte