
Я пытаюсь запустить приложение в 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