ADB работает в терминале Linux, но не работает в Android Studio

ADB работает в терминале Linux, но не работает в Android Studio

Я пытаюсь запустить приложение в Android Emulator внутри Android Studio. Эмулятор работает, но когда я запускаю свой apk в эмуляторе, я получаю ошибку:

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.'

Я вхожу adb devicesв терминал Android Studio для проверки adb. Я получаю ошибку

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: 

Но эта команда успешно работает в стандартном терминале.

Я попробовал ввести Enter adb kill-server, но это не помогло.

Моя ОС — Linux Mint 18.1. Версия Android Studio — 3.5.1.

решение1

Войдите в систему как пользователь root, создайте файл /etc/udev/rules.d/51-android.rulesи добавьте следующую строку, чтобы предоставить разрешения любому члену группы plugdev:

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

В этом примере идентификатор поставщика — samsung. Вам нужно использовать идентификатор поставщика для вашего устройства, который можно получить, запустив lsusbи выполнив поиск строки, например:

Bus 002 Device 009: ID 048e:9e18

В этом примере ваш идентификатор поставщика будет 048e, поэтому вам придется заменить 0bb4 на 2a47. Правильная строка будет выглядеть так:

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

Теперь назначьте разрешения на чтение файлов, перезагрузите udev и перезагрузите демон adb:

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

Связанный контент