我有Fedora 30,这是我的android studio和Java版本:
Android Studio 3.5.3
Build #AI-191.8026.42.35.6010548, built on November 15, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 5.1.17-300.fc30.x86_64
[我通过USB电缆连接了手机,打开了开发人员选项,并在小米Redmi Note 7和Android Studio上未进行调试,尽管adb
可以轻松看到它:
List of devices attached
adb server version (41) doesn't match this client (40); killing...
* daemon started successfully
103caa94 device
[只有在我使用sudo启动Android Studio之后(它也将sdk从用户的[/home/user/Android
)切换到了全局的[/root/Android
),它确实找到了我的手机,并且一切都按预期进行。
edit:澄清一下,我有手机的udev规则,这就是为什么我在adb和Android Studio中(以root身份)看到它的原因。
我的问题是:为什么必须要使用sudo启动Android studio才能看到我的手机?(Huawei Smart P复制了同样的内容,所以问题很可能出在我的电脑上。)
您将需要像这样创建一个新的udev规则(只需在命令行上复制并粘贴):
cat << EOF >/etc/udev/rules.d/51-android.rules
# /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb",ATTR{idVendor}=="0b05",ATTR{idProduct}=="7771",GROUP="wheel",SYMLINK+="android%n"
EOF
您可以用idVendor
找到root
作为lsusb
,并将GROUP
更改为您所在的组。
其他人创造了article about it(在很多其他人中:
并且,如果您很懒惰并且不想自己找到idVendor
,那么这里是一个可供使用的Full set of Android USB vendor ID rules for Linux。 :-)
我希望它会有所帮助。