在windows下连接手机的软件很多,但是在linux下就会显有些苍白了,相信使用linux的人都是不一般的人,都会走些非同寻常的路,在他们的眼里计算机一切都是文件,当然也会直接使用终端连接到手机,对手机进行执行操作

安装android-tools-adb
➜  ~ sudo apt-get install android-tools-adb

启动adb服务并查看连接到计算机的手机

➜  ~ adb devices

正常的情况下你会看到手机型号

➜  ~ adb devices
List of devices attached 
NX507J	unauthorized

一般都会出现以下错误

➜  ~ adb devices
List of devices attached 
????????????	no permissions

这是因为当前用户组没有权限访问设备,把当前用户加入到plugdev组

➜  ~ sudo  useradd -G plugdev $USER

再次查看adb devices,如果还是没有权限则查看设备id并创建udev规则

  • 查看设备ID
➜  ~  lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 003 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 003 Device 002: ID 17ef:602d Lenovo 
Bus 003 Device 006: ID 19d2:ffc1 ZTE WCDMA Technologies MSM 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  • 创建udev规则 /etc/udev/rules.d/51-android.rules
➜  ~ sudo vim /etc/udev/rules.d/51-android.rules

粘贴以下内容

SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 

注意:设备的id与ATTRS{idVendor}的值对应

  • 改变规则文件的权限
➜  ~ sudo chmod a+r /etc/udev/rules.d/51-android.rules
  • 重载规则并重启udev服务
➜  ~ sudo udevadm control --reload-rules
➜  ~ sudo service udev restart
➜  ~ sudo udevadm trigger

登录到手机

➜  ~ adb shell
参考文档