
Android Studio 내의 Android Emulator에서 애플리케이션을 실행해 봅니다. 에뮬레이터는 작동하지만 에뮬레이터에서 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
adb를 확인하기 위해 Android Studio 터미널에 들어갑니다 . 오류가 발생합니다.
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
도움이 되지 않습니다.
내 OS는 Linux Mint 18.1입니다. Android Studio 버전은 3.5.1입니다.
답변1
루트로 로그인하고 파일을 생성한 /etc/udev/rules.d/51-android.rules
후 다음과 같은 줄을 추가하여 Plugdev 그룹의 모든 사람에게 권한을 부여합니다.
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
이 예에서 공급업체 ID는 Samsung입니다. lsusb
다음과 같은 줄을 실행하고 검색하여 얻을 수 있는 장치의 공급업체 ID를 사용해야 합니다 .
Bus 002 Device 009: ID 048e:9e18
이 예에서 공급업체 ID는 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