关于Android真机测试(Linux系统下)


今天测试程序,在虚拟机上运行出问题,于是用真机来测试,但是发现Ubuntu下不认。。调用./adb devices显示如下。。结果无法用真机测试。

List of devices attached 
emulator-5554 device
???????????? no permissions

google小米真机测试无果,google ubuntu Android 真机测试找到了线索(),可是又纳闷了,他列出的设备代码没有小米手机,继续google,无果,然后自己想办法,先列出解决办法:

首先手机不连电脑,运行一下命令lsusb,结果如下:

  1. alfredtofu@alfredtofu-laptop:~/myapp/eclipse/android-sdk-linux_x86/platform-tools$ lsusb  
  2. Bus 002 Device 002: ID 8087:0024    
  3. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
  4. Bus 001 Device 009: ID 093a:2510 Pixart Imaging, Inc. Hama Optical Mouse  
  5. Bus 001 Device 004: ID 058f:b002 Alcor Micro Corp.   
  6. Bus 001 Device 002: ID 8087:0024    
  7. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  

手机连上电脑,再一次lsusb,结果如下:

  1. alfredtofu@alfredtofu-laptop:/$ lsusb  
  2. Bus 002 Device 005: ID 18d1:9025    
  3. Bus 002 Device 002: ID 8087:0024    
  4. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
  5. Bus 001 Device 009: ID 093a:2510 Pixart Imaging, Inc. Hama Optical Mouse  
  6. Bus 001 Device 004: ID 058f:b002 Alcor Micro Corp.   
  7. Bus 001 Device 002: ID 8087:0024    
  8. 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

最终结果显示如下:

  1. * daemon not running. starting it now on port 5037 *  
  2. * daemon started successfully *  
  3. List of devices attached   
  4. emulator-5554   device  
  5. 00c49bd2    device  

于是可以用真机测试了。

相关内容