836
技术社区[云栖]
关于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可以去官网查看。或者也跟我一样,复制如下内容,一次性全部加入,后保存。如下图:
- SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
- 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
|
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 |
在~/.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