Ubuntu ADB Device 顯示爲空 於adt不識別手機

在 android 設備的 Linux 內核中把 USB 驅動的 PID VID 修改之後,也許以前的 adb 工具就不能識別設備了,會打印出 "device not found" 的提示,特別是 windows ,adb 驅動也不能用了。

這個時候該怎麼辦呢? css

一,先搞清如今的 PID ,VID 爲多少,例如分別爲 aaaa、bbbb(十六進制) linux

      對於 linux 如 ubuntu, 插入 設備,再查詢 /sys/bus/usb/ 下的相應設備,如 "1-1" 下的 idVender, idProduct 得到。 android

      對於 windows, 可從相應設備的屬性中得到(設備管理器->android usb devices->adb device->屬性->詳細信息) shell

二,對於windows: ubuntu

1. 修改 adb 驅動中的 android_winusb.inf 文件。對照着別的項目加就能夠了。 windows

例如: eclipse

; My product
%CompositeAdbInterface% = USB_Install, USB\VID_AAAA&PID_BBBB 工具

%SingleBootLoaderInterface% = USB_Install, USB\VID_AAAA&PID_BBBB&MI_01 spa

2. 右擊個人電腦->屬性->高級->環境變量,添加 ANROID_SDK_HOME 環境變量。若是你有 android SDK, 就設成 SDK 的路徑;若是沒有,那也不要緊,設爲你以爲方便的任何路徑。 .net

3. 在前面設置的 ANDROID_SDK_HOME 對應的路徑下,尋找 .android 目錄,若是沒有就建立一個;在 .android 目錄下新建一個文件,叫adb_usb.ini, 記住,後綴是 "ini" 哦;添加前面得到的 VID 到 adb_usb.ini 中,如 0xAAAAAA。 就是vid+pid 就好比下面的 手機就是 0x22070010

Bus 003 Device 007: ID 2207:0010

4. 而後安裝 adb 驅動

5. 進入 DOS cmd, 分別輸入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那麼就成功了。

三,對於linux

1. 在用戶的 home 目錄下,尋找 .android 目錄,若是沒有就建立。在 .android 目錄下新建一個文件,叫adb_usb.ini, 記住,後綴是 "ini" 哦;添加前面得到的 VID 到 adb_usb.ini 中,如 0xAAAA。

2. 在 shell 中 分別輸入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那麼就成功了。

這裏 kill-server,是 kill 掉 adb 的 daemon,不然,adb 仍是保留着先前的 Vender 信息。start-server 就加載了新的 Vender 信息。


注意:有些人可能用 adb 須要超級用戶權限,這時第一步中的home 目錄應該爲 /root,不想麻煩,直接兩個 Home 目錄都加上得了。




在eclipse的device出現????? (就是adb不識別手機)



Ubuntu 上 Eclipse 不識別 Android 手機的解決方法 Android Device Chooser 顯示如下或其餘奇怪信息 ???????????? no permissions 這代表手機已經鏈接了,但沒有被識別。 若是是 Ubuntu Linux 須要添加一個 rules 文件,裏面包含了每個想要調試的設備的 usb 配 置信息。 以小米 1 手機爲例(不一樣的手機參考本文最下方的備註)實現步驟以下: 1.打開終端,輸入命令 lsusb 會列出一些信息,例如個人列出以下(請注意個人第 1 行) : Bus 002 Device 010: ID 18d1:9025 Google Inc. Bus 004 Device 002: ID 1c4f:0003 SiGma Micro HID controller Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 1.在終端輸入:sudo gedit /etc/udev/rules.d/51-android.rules 2.在打開的文件里加入: SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666" (請注意上面的 18d1.若是你有多個,就加多個 idVendor) 3.保存退出後在終端執行 sudo chmod a+r /etc/udev/rules.d/51-android.rules 4.在終端輸入命令:sudo service udev restart 5.殺死當前正在運行的 server,在終端輸入:sudo adb kill-server 沒裝 adb 的,能夠用命令 sudo apt-get install android-tools-adb 先安裝一下。 6.在終端輸入:sudo adb start-server 7.從新將手機鏈接到電腦 8.在終端輸入:adb devices 你就會發現原來不能識別的手機如今能識別了。 若是沒有出來,不用拔手機了,連着手機重複執行一邊 4,5,6,8.若是尚未搞定,請對着 步驟再作一遍(注意不要錯過某些步驟) 。 若是是別的廠家的手機, 須要在步驟 2 更改 ATTR{idVendor}的值。 若是要添加多個廠家的手 機,重複步驟 2。其餘 usb 供應商的 ID 以下: CompanyUSB Vendor ID Acer 0502 ASUS 0B05 Dell 413C Foxconn 0489 Garmin-Asus 091E Google 18D1 HTC 0BB4 Huawei 12D1 K-Touch 24E3 KT Tech 2116 Kyocera 0482 Lenevo 17EF LG 1004 Motorola 22B8 NEC 0409 Nook 2080 Nvidia 0955 OTGV 2257 Pantech 10A9 Pegatron 1D4D Philips 0471 PMC-Sierra 04DA Qualcomm 05C6 SK Telesys 1F53 Samsung 04E8 Sharp 04DD Sony Ericsson 0FCE Toshiba 0930 ZTE 19D2 若是以上作完,手機還沒識別出來,找高手吧

相關文章
相關標籤/搜索