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并搜索以下行来获取:

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

相关内容