今天需要使用真机测试,结果出了一点小问题,设备连上后出现:?????????????   no permissions 网上有解决方案,我整理一下。

0、下载最新的sdk

1、终端命令: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 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 17ef:7423 Lenovo
Bus 002 Device 003: ID 17ef:4810 Lenovo Integrated Webcam [R5U877]

将设备ID记住,17ef,另外不同的品牌ID如下:

CompanyUSB Vendor ID
Acer 0502
ASUS 0b05
Dell 413c
Foxconn 0489
Fujitsu 04c5
Fujitsu Toshiba 04c5
Garmin-Asus 091e
Google 18d1
Hisense 109b
HTC 0bb4
Huawei 12d1
K-Touch 24e3
KT Tech 2116
Kyocera 0482
Lenovo 17ef
LG 1004
Motorola 22b8
NEC 0409
Nook 2080
Nvidia 0955
OTGV 2257
Pantech 10a9
Pegatron 1d4d
Philips 0471
PMC-Sierra 04da
Qualcomm 05c6
SK Telesys 1f53
Samsung 04e8
Sharp 04dd
Sony 054c
Sony Ericsson 0fce
Teleepoch 2340
Toshiba 0930
ZTE 19d2

2、找到文件/etc/udev/rules.d/70-android.rules,没有就自己建
在该文件中添加SUBSYSTEM=="usb", SYSFS{idVendor}=="17ef", MODE="0666"   其中SYSFS{idVendor}=="17ef"对应设备id

3、终端命令:

  sudo chmod a+rx /etc/udev/rules.d/70-android.rules
  sudo service udev restart

增加权限,如果在root权限下就不需要了

4、在root用户下命令:

  adb kill-server

  adb start-server

  adb devices  

或者找到adb目录(这里需要注意一下,以前adb在android-sdks/tools路径下,貌似最近的搬家了,在android-sdks/platform-tools路径下,仔细一点的话能发现在tools/下面有个txt文档告诉你它搬家了。

  sudo ./adb kill-server

  sudo ./adb start-server

  sudo ./adb devices

5、最后显示:

List of devices attached
7DF000029EDC0000    device

就一切正常了。

P.S. 一般情况下可以先直接试试第4步,说不定就好了。

 posted on 2013-03-12 22:12  Ginsan  阅读(598)  评论(0编辑  收藏  举报