您的位置:首页 > 运维架构 > Linux

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

2016-05-12 09:51 806 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: