ADB는 Linux 터미널에서는 작동하지만 Android Studio에서는 작동하지 않습니다.

ADB는 Linux 터미널에서는 작동하지만 Android Studio에서는 작동하지 않습니다.

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 devicesadb를 확인하기 위해 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

관련 정보