解决Linux(Deepin)无法连接Android真机的问题

linux居然连接不上Android真机!?

好不容易在 Deepin 上配置好了Android开发环境,代码写起来,运行起来爽爽的。

可能我用的是 google 五阿哥手机,所以一路都很顺畅,今天换了个三星手机,居然连不上,无法调试。

Google 了一下,找到解决方案,记录一下

准备工作

  • 手机开启开发者选项,并开启USB调试
  • 需要root?(我的手机并没有root)

查看手机端口ID

终端输入命令 lsusb,系统会列出所有 USB设备:

Bus 002 Device 019: ID 18d1:4ee7 Google Inc. 
Bus 002 Device 018: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b1e5 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

这个一眼就能看出来三星手机在哪里了。

如果还是看不出来,排除法走起:拔掉USB,在lsusb一下,不见的那个就是拔掉的那个。

所以 三星手机的 ID 是

Bus 002 Device 018: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)

这一段

设置环境变量

输入命令

$ sudo vim /etc/udev/rules.d/51-android.rules

在文件最后添加一行

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="6860", GROUP="plugdev"

修改文件权限

chmod a+r /etc/udev/rules.d/51-android.rules

这样就可以了, 输入 adb devices就可以看到 设备列表了。

如果还是没看到,重启一下adb 服务试试看

sudo service udev restart
sudo adb kill-server
sudo adb start-server

亲测可以看到设备了。

 
comments powered by Disqus