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

来源:互联网 发布:王者传奇羽毛升级数据 编辑:程序博客网 时间:2024/06/04 20:39

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:
0x2207 #Rockchip rk3188
       4.error: insufficient permissions for device
         如果遇到这个问题,那么请切换到root用户,进行重启adb-server就没有问题了。

  1.《在Linux(Ubuntu)下安装Android设备的ADB/USB驱动》 不建议用。
  2.《怎样在ubuntu 下安装android驱动?》 建议使用