untun下USB连接Android手机后,使用adb devices 出现如下:
List of devices attached
???????????? no permissions
同时在DDMS中显示设备名也显示????,也无法显示进程名,无法查看log。
1、首先查看手机的usb信息
输入指令:lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 002 Device 006: ID 0bb4:0cab High Tech Computer Corp.
红色部分为我的Desire S信息,不同的设备可能显示不一样。
设备id是 0bb4
设备信息描述是 High Tech Computer Corp.
2、添加udev规则在/etc/udev/rules.d/下(sudo vim 70-android-usb.rules)创建并一个文件名为70-android-usb.rules的文件。注意:文件名中的数字70是依据不同系统而定的,如果不确定就看一下/etc/udev/rules.d/其它文件的命名方式,可能是70、50或其它。
如:70-persistent-cd.rules 70-persistent-net.rules README
编辑规则文件并保存
SUBSYSTEM=="usb", SYSFS("High Tech Computer Corp.")=="0bb4",MODE="0666"
注意:红色部分必须按照步骤1中得到的设备信息描述和设备id来填写。 其中,SYSFS括号内是自己android手机的实际描述信息,==后面的是id号,mode是读取模式,0666是所有人可以访问,以上的信息都是lsusb查处来的。
3、设置规则文件权限并重启udev/etc/udev/rules.d目录下执行 下面的命令,把70-android-usb.rules文件设置为可执行文件。
sudo chmod a+rx /etc/udev/rules.d/70-android-usb.rules
sudo /etc/init.d/udev restart会看到udev相关的提示信息
4、设置adb 进入sdk得platform-tools目录sudo ./adb kill-serversudo ./adb devices显示下面的结果:
* daemon not running. starting it now on port 5037 ** daemon started successfully *List of devices attached 0163C5420200F029 device
大功告成,可以在eclipse下使用真机调试了。
List of devices attached
???????????? no permissions
同时在DDMS中显示设备名也显示????,也无法显示进程名,无法查看log。
1、首先查看手机的usb信息
输入指令:lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 002 Device 006: ID 0bb4:0cab High Tech Computer Corp.
红色部分为我的Desire S信息,不同的设备可能显示不一样。
设备id是 0bb4
设备信息描述是 High Tech Computer Corp.
2、添加udev规则在/etc/udev/rules.d/下(sudo vim 70-android-usb.rules)创建并一个文件名为70-android-usb.rules的文件。注意:文件名中的数字70是依据不同系统而定的,如果不确定就看一下/etc/udev/rules.d/其它文件的命名方式,可能是70、50或其它。
如:70-persistent-cd.rules 70-persistent-net.rules README
编辑规则文件并保存
SUBSYSTEM=="usb", SYSFS("High Tech Computer Corp.")=="0bb4",MODE="0666"
注意:红色部分必须按照步骤1中得到的设备信息描述和设备id来填写。 其中,SYSFS括号内是自己android手机的实际描述信息,==后面的是id号,mode是读取模式,0666是所有人可以访问,以上的信息都是lsusb查处来的。
3、设置规则文件权限并重启udev/etc/udev/rules.d目录下执行 下面的命令,把70-android-usb.rules文件设置为可执行文件。
sudo chmod a+rx /etc/udev/rules.d/70-android-usb.rules
sudo /etc/init.d/udev restart会看到udev相关的提示信息
4、设置adb 进入sdk得platform-tools目录sudo ./adb kill-serversudo ./adb devices显示下面的结果:
* daemon not running. starting it now on port 5037 ** daemon started successfully *List of devices attached 0163C5420200F029 device
大功告成,可以在eclipse下使用真机调试了。