今天测试程序,在虚拟机上运行出问题,于是用真机来测试,但是发现Ubuntu下不认。。调用./adb devices显示如下。。结果无法用真机测试。
List of devices attached
emulator-5554device
????????????no permissions
google小米真机测试无果,google ubuntu Android 真机测试找到了线索(),可是又纳闷了,他列出的设备代码没有小米手机,继续google,无果,然后自己想办法,先列出解决办法:
首先手机不连电脑,运行一下命令lsusb,结果如下:
alfredtofu@alfredtofu-laptop:~/myapp/eclipse/android-sdk-linux_x86/platform-tools$ lsusb Bus 002 Device 002: ID 8087:0024 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 009: ID 093a:2510 Pixart Imaging, Inc. Hama Optical Mouse Bus 001 Device 004: ID 058f:b002 Alcor Micro Corp. Bus 001 Device 002: ID 8087:0024 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
手机连上电脑,再一次lsusb,结果如下:
alfredtofu@alfredtofu-laptop:/$ lsusb Bus 002 Device 005: ID 18d1:9025 Bus 002 Device 002: ID 8087:0024 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 009: ID 093a:2510 Pixart Imaging, Inc. Hama Optical Mouse Bus 001 Device 004: ID 058f:b002 Alcor Micro Corp. Bus 001 Device 002: ID 8087:0024 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
对比发现,多了Bus 002 Device 005: ID 18d1:9025,跟那个参考网站一对比,发现18d1正是设备ID,接下来问题就轻松解决了。
sudo vim /etc/udev/rules.d/51-android.rules
添加一下内容:
UBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
以上命令不同手机只需要改SYSFS{idVendor}=="18d1",中的18d1,至于这个代码怎么找,上面介绍了。
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart
sudo ./adb kill-server
sudo ./adb devices
最终结果显示如下:
* daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached emulator-5554 device 00c49bd2 device
于是可以用真机测试了。