ADB funciona no terminal Linux, mas não funciona no Android Studio

ADB funciona no terminal Linux, mas não funciona no Android Studio

Tento executar o aplicativo no Android Emulator dentro do Android Studio. O emulador funciona, mas quando executo meu apk no emulador, recebo um erro:

Installation did not succeed.
The application could not be installed.
Installation failed due to: '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.'

Entro adb devicesno terminal do Android Studio para verificar o adb. Eu recebo um erro

List of devices attached
adb server is out of date.  killing...
cannot bind 'tcp:5037': Address already in use
ADB server didn't ACK
* failed to start daemon *
error: 
error: 

Mas este comando funciona com sucesso no terminal padrão.

Tentei entrar adb kill-servermas não adiantou.

Meu sistema operacional é Linux Mint 18.1 Android Studio versão 3.5.1

Responder1

Faça login como root, crie um arquivo /etc/udev/rules.d/51-android.rulese adicione uma linha como esta para dar permissões a qualquer pessoa do grupo plugdev:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

Neste exemplo, o ID do fornecedor é Samsung. Você precisa usar o ID do fornecedor do seu dispositivo, que pode ser obtido executando lsusbe pesquisando uma linha como:

Bus 002 Device 009: ID 048e:9e18

Neste exemplo, seu ID de fornecedor seria 048e, então você teria que substituir 0bb4 por 2a47. A linha correta seria assim:

SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"

Agora atribua permissões de leitura aos arquivos, recarregue o udev e recarregue o daemon adb:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server

informação relacionada