ADB 在 Linux 終端機中運作,但在 Android Studio 中不起作用

ADB 在 Linux 終端機中運作,但在 Android Studio 中不起作用

我嘗試在 Android Studio 內的 Android 模擬器中運行應用程式。模擬器可以工作,但是當我在模擬器中運行我的 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 devicesAndroid 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: 

但這個命令在標準終端機中成功運作。

我嘗試輸入 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"

在此範例中,供應商 ID 是 samsung。您需要使用設備的供應商 ID,可以透過運行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

相關內容