红联Linux门户
Linux帮助

Linux下安装Android的adb驱动-解决不能识别的问题

发布时间:2015-10-09 10:21:23来源:linux网站作者:kangear

老方法对我当时使用的一款设备一直都没有出现问题,最后遇到小米手机还有Android4.4版本的系统都会每次出现error: insufficient permissions for device问题,老方法的最后也说了这个问题的解决方法是什么。大意就是adb服务得以root用户身份启动,比较靠谱的方法是添加或者修改/etc/udev/rules.d/51-android.rules文件,内容如下:

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

这会监听所有Android手机设备。自动以root权限启动adb服务。无需关注Android设备的vid pid。old方法对Windows用户仍然有效。


old版本:
注:本文不涉及怎么安装adb等工具。本方法通用。到目前为止已经解决rk3188和展讯SC6820(波导T9500)的识别问题。
以前调试的Android板子,都是直接用的Google的usb设备id,adb一般默认就能够识别。这次调试国产的瑞芯微的板子,adb居然不能够识别。使用Windows的同事都用“91助手”来解决的。Linux下似乎并没有一家来做手机助手的,就要自己来解决了。
驱动应该是有的,对不上号才是真正的原因。先看设备id,使用lsusb命令。

Linux下安装Android的adb驱动-解决不能识别的问题  

查到了设备id,将其添加到~/.android/adb_usb.ini用如下命令:
$ sudo echo "0x2207" >> ~/.android/adb_usb.ini  #添加设备id到adb配置文件中
$ adb kill-server                             # 关闭adb服务 (使用root权限)
$ adb start-server                            #重启adb服务
$ adb devices                               #显示adb设备


步骤截图如下:

Linux下安装Android的adb驱动-解决不能识别的问题  
至此就成功识别了android板子。可以进到shell中,也可以用eclipse来调试android应用程序了。


另:

1.* daemon not running. starting it now on port 5037 * cannot bind 'tcp:5037' ADB server didn't ACK * failed to start daemon *
重启电脑后可以了,卸载apt-get install安装的那个。


2.如果不能识别所有的Android设备,那么很有可能adb使用的5037端口号被占用,可以用以下使用查看:
lsof -i :端口号
将其Kill掉,或者开机先启动一下adb。比如我用的wine的 source insight就会占用。


3.Windows下的adb具有同样的道理,两样会读取adb_usb.ini。这个文件也在$HOME/.android目录下。所以直接把Linux做好的这个文件放到提到的目录就可以自动识别。附adb_usb.ini:
0x2207 #Rockchip rk3188 


4.error: insufficient permissions for device
如果遇到这个问题,那么请切换到root用户,进行重启adb-server就没有问题了。


ubuntu adb配置手机:http://www.linuxdiyf.com/linux/14536.html

ubuntu adb无法识别手机:http://www.linuxdiyf.com/linux/14057.html

Ubuntu12.04安装adb:http://www.linuxdiyf.com/linux/13422.html

XUbuntu下adb驱动问题:http://www.linuxdiyf.com/linux/11336.html

Ubuntu下adb识别真机:http://www.linuxdiyf.com/linux/9183.html