阅读836 返回首页    go 技术社区[云栖]


关于Ubuntu 下新开发板adb 无法识别的问题(成功案例:解决了三星,索爱,OPPO X903案例)

问题:

在ubuntu中eclipse中用真机来调试androi程序时,发现无法识别手机,如下图显示2.37一栏之前显示全是乱码,这是解决后截的图。


问题原因是:

在window下我们可以通过安装驱动来实现abd的连接,而在ubuntu下就没有安装手机驱动这个概念,那我们肯定也需要个啥来实现这个驱动功能。这个android官网介绍得很详细。

记录下解决步骤如下:

第一步:打开终端,输入:sudo gedit /etc/udev/rules.d/51-android.rules

第二步:在弹出的如下图编辑文件中按固定格式输入你手机型号对应的ID号,官网格式如下:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 

我们实际应用中group项一般不加,即如下格式:

SUBSYSTEM=="usb", ATTR{idVendor}=="你手机对应的ID", MODE="0666"。

手机对应id可以去官网查看。或者也跟我一样,复制如下内容,一次性全部加入,后保存。如下图:

  1. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"  
  2. SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"  
  3. SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"  
  4. SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"  
  5. SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"  
  6. SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666"  
  7. SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666"  
  8. SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666"  
  9. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"  
  10. SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"  
  11. SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"  
  12. SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"  
  13. SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"  
  14. SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666"  
  15. SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"  
  16. SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"  
  17. SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"  
  18. SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"  
  19. SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"  
  20. SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"  
  21. SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666"  
  22. SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666"  
  23. SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"  
  24. SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"  
  25. SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"  
  26. SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"  
  27. SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"  
  28. SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"  
  29. SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666"  
  30. SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"  
  31. SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666"  
  32. SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"  
  33. SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666"  



第三歩:终端输入:sudo chmod a+r /etc/udev/rules.d/51-android.rules

手机重新再连一次就OK了。


参考网址:

https://www.cnblogs.com/AndroidManifest/archive/2011/12/09/2281635.html

https://www.blogchen.com/archives/589.html


通过网上搜到的这个步骤,我成功识别了SONY ERICSSON

但是我本人的OPPO X903却无法运行

可以参照如下思路:

1. 在终端运行 lsusb

会发现结果有会有如下类似记录:

Bus 001 Device 008: ID 0bb4:0cab High Tech Computer Corp.

这时键入

1 sudo gedit /etc/udev/rules.d/50-Android.rules

在打开的文件中增加以下文本:

1 SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"

2. 运行以下命令:

1 sudo chmod a+rx /etc/udev/rules.d/50-Android.rules
2 sudo /etc/init.d/udev restart
3. 在 Android sdk 的platform-tools 目录下运行 (事先将platform-tools和tools对应的目录加到PATH下面)
1 sudo ./adb kill-server
2 sudo ./adb devices

4.有的国产手机,例如oppo,需要

输入 lsusb

1 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3 Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
4 Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
5 Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
6 Bus 001 Device 006: ID 22d9:2769
最后得到的ID 22d9

在~/.android/adb_usb.ini中添加22d9


//小米手机如果没有弹出usb调试确认框,可拨号界面输入*#*#717717#*#*。 手动弹出


好了,我们再梳理一下:

步骤一:

打开终端,输入lsusb

 

上面的2207:0006就是我们新的开发板的USB的ID,不知道如何识别的同学 ,可以通过反复的插拔查找哪个是变化值。我们需要复制:前缀的2207,新增到配置文件里面。

 

步骤二:

修改51-android.ruls 配置文件

在终端上输入:sudo vim /etc/udev/rules.d/51-android.rules ,可以看到下面的数据

 

将这两行数据,复制拷备,重新换一行。然后修改 SYSFS{idVendor} 这个值的数据,将其改成2207,如下图的修改:

 

 

步骤三:

修改adb_usb.ini 配置文件

在终端上输入: vim .android/adb_usb.ini,里面有个类似0x2218的数值,另起一行填上0x2207即可。如下图:

 

 

好了,完成好上面的步骤,这时可以再adb devices 查看结果了。



最后更新:2017-04-03 12:55:38

  上一篇:go C# 系统应用之ListView控件 (二).加载选中节点文件夹下文件信息
  下一篇:go 如何让有物理键的手机在ActionBar始终显示更多菜单menu键