Linux下安装Android的adb驱动-解决不能识别的问题
20141011更新:
老方法对我当时使用的一款设备一直都没有出现问题,最后遇到小米手机还有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用户仍然有效。
sudo udevadm control --reload-rules #重新加载rules,这时再插拔一个Android设备一切就正常了。
old版本:
注:本文不涉及怎么安装adb等工具。本方法通用。到目前为止已经解决rk3188和展讯SC6820(波导T9500)的识别问题。
以前调试的Android板子,都是直接用的Google的usb设备id,adb一般
默认就能够识别。这次调试国产的瑞芯微的板子,adb居然不能够识别。使用Windows的同事都用“91助手”来解决的。Linux下似乎并没有一家来
做手机助手的,就要自己来解决了。
驱动应该是有的,对不上号才是真正的原因。先看设备id,使用lsusb命令。
查到了设备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设备
步骤截图如下:
至此就成功识别了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:
[python] view plain copy
- 0x2207 #Rockchip rk3188
4.error: insufficient permissions for device
如果遇到这个问题,那么请切换到root用户,进行重启adb-server就没有问题了。
1.《在Linux(Ubuntu)下安装Android设备的ADB/USB驱动》 不建议用。
2.《怎样在ubuntu 下安装android驱动?》 建议使用
本文转载自:CSDN