如何设置 udev 规则以使用 Android Studio 调试物理 android 设备?

Poi*_*ain 5 android android-studio huawei-mobile-services

过去我从来不需要设置这个,但是我今天将 Android Studio 更新到了 2.3.1 版,并且在单击调试时出现了这个错误:

05/03 17:19:19: Launching app
$ adb push app-debug.apk {path on my computer}
com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: verify udev rules.
See [http://developer.android.com/tools/device.html] for more information.
Error while Installing APK
Run Code Online (Sandbox Code Playgroud)

我去了他们指定的页面,他们告诉我在那里制作文件 /etc/udev/rules.d/51-android.rules

所以我做了,添加了这一行:

SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"

对于我的(华为)Nexus 6P。

我还按照他们的规定将该debug部分添加到build.grade

但是,我仍然遇到相同的错误。我尝试用我自己的 linux 用户组代替plugdev,但这也没有解决问题。有什么建议?

Mar*_*ler 6

请注意,它可能会报告不同的 ID,具体取决于设备的当前 USB 模式。

因此,重要的是使USB调试第一...

并且然后使用lsusb以获得供应商和产品ID ...

Bus 001 Device 070: ID 18d1:4ee7 Google Inc.
Run Code Online (Sandbox Code Playgroud)

罪魁祸首可能是供应商 ID,12d1华为在哪里——18d1谷歌在哪里。

...任何lsusb输出都符合udev规则:

# angler (Nexus 6P)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0600", OWNER="yourusername"
Run Code Online (Sandbox Code Playgroud)

然后运行:

sudo udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)