Linux系统下adb devices无法看到移动设备

  在Linux系统下,使用android devices命令无法显示设备,解决办法:

1)、用lsubsb命令查看连接上的移动设备的信息(可以先断开usb连接,比较两次显示的信息的不同来确定那个是连接上的移动设备)

she@she-virtual-machine:~/workspace/autotest/src/bin$ lsusb
Bus 001 Device 028: ID 29a9:701a  
Bus 001 Device 002: ID 1058:0820 Western Digital Technologies, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

如上红色的即为我连接的移动设备,其中idVendor:29a9, idProduct:701a

找到.android/adb_usb.ini文件添加一行如下(#是注释):

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
# for jianguo
0x29a9

.android文件夹一般在用户的主目录下(也可能在root目录下),“.”开头的文件默认是隐藏的,需要在主目录下按“ctrl+H”显示;

接着重启adb,执行命令 adb kill-server ,adb start-server ,这时 adb devices就可以看到设备了


用adb devices 显示设备,但显示没有访问权限 ,按照网上的办法,到/etc/udev/rules.d目录下,sudo gedit 5-android.rules 

添加以下内容:

SUBSYSTEM=="usb", ATTRS{idVendor}=="29a9", ATTRS{idProduct}=="701a",MODE="0666"

意这里的idVendor和idProduct就是lsusb命令得到的。

保存,给配置文件设置下权限
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
Restart
sudo /etc/init.d/udev restart
最后再重启下adb服务,就可以了(没配置环境变量的请进入Android SDK tools目录执行sudo ./adb kill-server ./adb devices)
sudo adb kill-server
sudo adb devices


你可能感兴趣的:(android开发)