如何讓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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM