電腦無法正確的驅動 Android 手機該怎麼辦?
主題: |
電腦無法正確的驅動Android 手機該怎麼辦? |
文章簡介: |
大部分的 Android 手機接上電腦後大部分都可以正常的驅動成功 (雖然 Windows 10 在這方面表現已經很好),但可能某些白牌(貼牌)手機,就會遇上無法正常驅動的現象,如果 Android 手機沒有在電腦上正常的驅動成功,那 ADB 也無法讀取,更別說要讓 Xamarin.Android 的專案部屬到手機上,本篇文章提供曾經遭遇過的經驗之談,在以後若是遇到類似的問題時,可以有一些處理的方向。 |
作者: |
James Tsai |
版本/產出日期: |
V1.0/2017.3.29 |
1. 前言
• HTC、Samsung、LG…等這些大廠所出的Android手機,基本上都會有作專屬的驅動程式,就算Windows無法自動搜尋到合適的驅動程式,也只要到各大廠的官網上去找找,應該都可以找到適合的驅動程式。但麻煩的是一些白牌手機(貼牌手機),這些廠商不會負責驅動程式的,所以這些手機就沒辦法正確的被電腦讀取,更別說Google的ADB能夠識別了。而在Google的ADB都不能識別的情況下,怎麼會去期待能從Visual Studio直接部屬Xamarin.Android程式到手機上呢?所以根本之要是要解決驅動的問題,但每支白牌手機的狀況有可能多少有點相異,很多時候只能見招拆招,本篇文章是根據遭遇的經驗整理出來的作法,不一定適用所有的情境。
2. 環境準備
• 準備一支Android的白牌手機,在本文當中是貼牌台灣大哥大但實際上是ZTE (中興通訊)所出的 Amazing A5S 手機(ZTE的官網也未提供驅動下載),接上電腦後可能會看到裝置管理員看到下列的畫面。
這台Amazing A5S手機在Windows 8.1 & 10似乎接上電腦時都已經能正確辨識,並且自動安裝好驅動程式。上述畫面可能出現在Windows 7/8中,而若很剛好Windows 8.1/10的系統也會無法正確辨識,那也請參考看看本文所介紹的方式來設定。
3. 本文
前置準備
• Android 的Google 公版USB Driver下載:
由於本篇文章會透過Google的Android 公版USB Driver,修改為符合該 Amazing A5S的Driver,請先打開Android SDK Manager 確認 Google USB Driver是否已經有下載,如下圖:
下載好後可以到虛線框中的SDK Path資料夾底下的 ”extras\google\usb_driver” 看到相關檔案。
• 若使用自己修改的Driver來安裝裝置,會因為沒有數位簽章的簽署,而導致在Windows 8/8.1/10上無法安裝(為了安全),所以可以先到Windows的設定當中,透過進階啟動的調整,將要求驅動程式強制簽章的功能關閉。(以下用Windows 10作為設定調整的舉例)。
重新開機後會進到類似以下的畫面,選擇”疑難排解”->”進階選項”->”啟動設定” ->”重新啟動”
再次重新開機後,會看到下列畫面,請用鍵盤輸入”7”。
接著進入Windows系統後,就可以安裝自己變更的Driver。完成後,再重新開機之後這個設定就失效了,不用擔心。
修改Google 的Android公版 USB Driver
• 建議將之前透過Android SDK Manager下載好的公版USB Driver把整個 usb_driver資料夾複製出來一份,然後在這個usb_driver當中找到”android_winusb.inf”這個檔案並打開,找到[Manufacturer]的部分(紅色實線框),將後面的Google改成ZTE(紅色虛線框)。
• 接著把後續的[Google.NTx86]以及[Google.NTamd64]中所寫的設備通通刪除,並且將此兩分類改成[ZTE.NTx86]以及[ZTE.NTamd64]:
• 接著在修改好的分類下加入自己裝置的相關描述資料。
虛線框的數據請從裝置管理員當中點選該裝置右鍵選單的”內容”來查詢。
切到”詳細資料”分頁後,在”屬性”的下拉選單選到”硬體識別碼”。正常來說,最後有MI結尾的值,就會是一種 ”CompositeAdbInterface”,而所看到的值就會是我們填入的資料,若有兩個可選擇請自行測試。
• 回到”android_winusb.inf”這個檔案,繼續找到[Strings]的分類,將下面的ProviderName修改成自己想要顯示的名稱。
• 接著就在回到裝置管理員,來將未正確驅動的裝置來”更新驅動程式軟體”。
• 選擇”瀏覽電腦上的驅動程式軟體”
• 選擇”讓我從電腦上的裝置驅動程式清單中挑選”。
• 選擇”從磁片安裝”
• 點選”瀏覽”,選擇剛剛我們改好的那個usb_driver的路徑,接著按”確定”。
• 找到後選擇該驅動程式後,按”下一步”
• 安裝過程中,會有Windows 安全性提示,請選擇”仍然安裝此驅動程式軟體”
完成後點選”關閉”。
• 回應所有的視窗後,回到裝置管理員,應該會看到如下圖的結果:
若有遇到要求重新開機的話,請重新開機。
測試結果
• 完成以上動作後,請先打開Android手機上的”開發人員選項”(通常在設定->關於手機->版本號碼 上快速的連續點選數下,即可打開。),並且確認”開發人員選項”中的”USB偵錯”是有勾選的。
• 接著透過Visual Studio,找到”工具”->”Android”->”Android Adb 命令提示字元”來開啟adb作一些查詢。
• 在命令提示字元當中鍵入”adb devices”。
如果發現裝置狀態顯示”unauthorized”的話(虛線框),請拔掉連結裝置的USB線,再次重插。並且注意與確認裝置上出現如下畫面時,要立刻按”確定”。出現這個畫面代表電腦的Adb已經可以跟這台Android手機溝通,而Android手機要確認。
• 再重新回到命令提示字元當中鍵入”adb devices”一次,就會看到顯示該裝置授權成功,可以開始透過adb佈署程式了。
• 開啟一個Xamarin.Android的專案,就可以看到Visual Studio可以直接佈署程式到該Andorid手機上
4. 參考來源
• 自己寫Android手機驅動程式
http://readandplay.pixnet.net/blog/post/183750660