zoukankan      html  css  js  c++  java
  • 如何让Android手机顺利连接上PC

          作为一名Android开发人员,经常需要将手机连接到PC,以便调试程序。

          但是,有些手机不容易连接上。导致这一问题有多方面的原因:

          1.手机内部状态出了问题。一般来说,重新打开“USB调试”就可以解决这个问题,但是有时需要重启手机或PC才行。

          2.USB供电不足。如果是这个原因,那么就需要更换USB连接线或者USB插口。

          3.没有安装相应的驱动。这个问题一般只针对Windows用户才存在,安装驱动就可以解决问题。如果是Linux或Mac OS X用户,则无需安装驱动。

          4.其它程序干扰。就我个人情况而言,经常就是由于“豌豆夹”的运行,导致Eclipse无法识别到手机。杀掉它。

          5.adb等的版本过低。升级Android的一系列开发工具和SDK,就可以解决问题。

          如果是在Linux下面工作,情况可能比较复杂,下面主要来说明一下这种情况。

          在Linux下面,你不需要安装驱动,按理说,连接一个手机不应该出问题;但是,Linux下面的权限管理比较严格,不是任何人都可以操作USB设备的。

          关于这一点,可以做如下验证:

          1.找一台不能被识别的手机,连接上PC,运行lsusb,你会发现,它出现在结果列表中,这说明Linux是识别该手机的。

          2.以root身份重新运行adb,你会发现,手机现在可以被识别了。

          3.以普通身份重新运行adb,执行adb devices,你会发现,该手机被标识为“????????????      no permissions”。

          总结,手机之所以不能被识别,是由于当前Linux用户不具备足够的权限。

          解决方法:

          1.如果没有的话,在Linux上创建/etc/udev/rules.d/51-android.rules文件(以root身份)。

          2.加入类似形式的行(每个设备一行):SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"。

             其中,ATTR{idVendor}=="0bb4"中的数字应该替换成对应手机的id,该id可以通过lsusb查询。

             这行代码中,关键的部分是MODE="0666",它向所有人开放了该设备的读写权限。

          3.重启udev。在我的Ubunut 12.10之下,发现无需做这一步,正好我也不理解udev。

          另外,还有一些比较特别的情况,请参考我写的另外两篇文章:

          解决"设备升级至Android 4.2.2之后,可以连接但无法调试"的问题

          Ubuntu 12.04无法识别华为U8500

          安装驱动:

          http://developer.android.com/tools/extras/oem-usb.html(针对一般手机)

          http://developer.android.com/sdk/win-usb.html(针对Google手机)

          官方说明:

          http://developer.android.com/tools/device.html

          书写udev rules:

          http://www.reactivated.net/writing_udev_rules.html

  • 相关阅读:
    JOIN条件限制对结果记录的影响
    什么是linux?
    什么是操作系统?
    Internship settled!
    Python dict 调试技巧 —— 利用YAML存储dict内容
    c++ 异常处理
    C#可空类型
    C# 异常处理
    C#值类型与引用类型
    C# 类类型
  • 原文地址:https://www.cnblogs.com/frydsh/p/2948206.html
Copyright © 2011-2022 走看看