做Android開發(fā)連接手機調(diào)試時,明明已經(jīng)打開了開發(fā)模式,允許USB調(diào)試,連接上手機后仍然無法發(fā)現(xiàn)設(shè)備,在控制臺中輸入adb shell后報錯error:device not found。網(wǎng)上的做法大致分為:
1、adb kill-server來殺死adb進程,然后再使用adb start-server命令來開啟;
2、檢測5037端口(adb.exe默認(rèn)端口)是否被占用,關(guān)閉除adb.exe以外占用了5037端口的進程,重新開啟adb服務(wù):
2.1、adb nodaemon server:檢測5037端口是否被占用;
2.2、netstat -ano | findstr “5037”:查看是什么進程占用了5037端口;
2.3、tasklist | findstr “21152”:查看這個進程是由哪個程序創(chuàng)建的(21152就是占用5037端口的一個進程的PID);
2.4、taskkill /f /pid 21152:將進程關(guān)掉;
2.5、adb devices:顯示當(dāng)前連接設(shè)備。
在此提供另外一種解決方案,通過手動查看硬件ID,并安裝google原生android debug驅(qū)動;
1、右鍵我的電腦->管理->設(shè)備管理->Android Phone.在這里我們可以看到對應(yīng)android設(shè)備的驅(qū)動。
2、選中該驅(qū)動右鍵屬性,在詳細信息選項下,在屬性(p)選項中選擇硬件Id,記錄下面的值(v)中的信息,例如某設(shè)備的這一值為:
USB\VID_2A45&PID_0C02&REV_????&MI_01
USB\VID_2A45&PID_0C02&MI_01
3、在電腦中找到android開發(fā)下載的sdk目錄(假設(shè)你已經(jīng)通過sdk manager下載了),進入\extras\google\usb_driver文件夾下,找到android_winusb.inf并打開,這就是google針對android的一個配置文件。在文件中找到[Google.NTx86](針對32位平臺,64位同理添加)這一行,在下面可以看到很多android設(shè)備的驅(qū)動信息,例如:
;Google Nexus One
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
這里我們只需要仿照這種文件的格式,復(fù)制這些驅(qū)動信息,并用2中獲取的2A45和0C02來修改,如下:
;MEIZU metal
%SingleAdbInterface% = USB_Install, USB\VID_2A45&PID_0C02
%CompositeAdbInterface% = USB_Install, USB\VID_2A45&PID_0C02&MI_01
保存并關(guān)閉。
4、卸載掉原來驅(qū)動程序,重啟電腦。確保手機已經(jīng)進入開發(fā)者模式并允許USB調(diào)試,連接方式選擇傳輸文件。然后再次右鍵電腦->管理->設(shè)備管理->其他設(shè)備??梢钥吹紸DB Interface選項上有一個問號,表示該驅(qū)動沒有正確安裝。選中ADB Interface并右鍵選擇更新驅(qū)動程序軟件->瀏覽計算機以查找驅(qū)動程序軟件,在瀏覽中選進我們之前添加了硬件設(shè)備驅(qū)動信息文件android_winusb.inf的文件夾(D:\android-sdks\extras\google\usb_driver,這里只需要選擇文件夾,不需要選擇文件),下一步后選擇始終安裝。
5、安裝成功后,在設(shè)備管理中會出現(xiàn)一個Android Phone的選項。 轉(zhuǎn)載:CSD博客
|