1. 程式人生 > >Android ADB server didn't ACK failed to start daemon 簡單有

Android ADB server didn't ACK failed to start daemon 簡單有

               

ADB server didn't ACK 這個問題會困惱很多的新手朋友,我以前剛開始做Android的時候也遇到過這個問題,不過自己百度,google啥的,也不知道怎麼就給解決了,看到群裡很多新手朋友都會問這個問題,說實話我也沒有一個解決這個問題的終極方法(百試百靈的那種,哈哈),自己沒遇到也沒有認真的去對待他,今天,就是在今天,我開啟Eclipse連上手機,準備除錯程式,出現如下的資訊

The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. Please ensure that adb is correctly located at 'D:\android-2.2-windows\platform-tools\adb.exe' and can be executed.
然後我就按照他的要求來做,重啟Eclipse和adb,然後確認adb的路徑是否正確,然後當我再次執行程式的時候,依舊不行,之後我就開始百度了,有朋友說先在DOS下執行adb kill-server(你必須在環境變數中配好你adb的路徑或者進入到adb.exe的目錄下),然後在adb start-server,當我執行adb start-server的時候,DOS出現如下資訊
* daemon not running. starting it now * ADB server didn't ACK * failed to start daemon * 
然後在執行程式還是不行,重複搞了很多次老不行,還有朋友說在工作管理員找到adb.exe,然後關閉,重啟Eclipse,我開啟工作管理員,發現根本沒有找到adb.exe,這時候我流淚滿面了,然後我冷靜下來,知道有些朋友遇到這個錯誤是因為豌豆莢啥的軟體佔用了adb.exe的埠,我的電腦裡面根本沒有安裝豌豆莢,然後我想看看是誰佔用adb的埠,我從網上查到adb.exe使用的埠是5037,接下來我給大家介紹解決方法
  • 檢視5037埠被誰佔用了,開始--執行--CMD 到命令提示符,輸入 netstat -aon|findstr "5037",如下圖                                                                          
  • 我們從上面根本就看不出5037埠被誰佔用,我們需要根據後面的PID(2748)來查詢佔用該埠的應用程式,輸入 tasklist|findstr "2748" ,如下圖                                                                                                                                                                                                                      
                                                                                    注: 我這裡5037埠是正確的被adb.exe佔用,如果是你,就是其他的應用程式啦
  • 結束該程序,輸入taskkill /f /t /im 你的程序名,例如adb.exe,如下圖,在重新連線手機,這時候你會發現程式執行起來了                                    
這個問題雖然不是什麼很大的問題,但是對於新手來說也是屬於比較棘手的問題,所以我將自己解決此問題的方法在這裡記錄下,希望能給遇到此問題的人一點點幫助,如果我寫得文章對你一點幫助請幫我頂一下文章,謝謝!