文章來(lái)源 參考:http://www.cnblogs.com/xdp-gacl/p/4321012.html
一、問(wèn)題描述
今天在Eclipse中運(yùn)行Android項(xiàng)目時(shí)遇到"The connection to adb is down, and a severe error has occured"這個(gè)問(wèn)題,如下圖所示:

第一次遇到這個(gè)問(wèn)題,上網(wǎng)查了一下原因,原來(lái)"The connection to adb is down, and a severe error has occured"指的就是Android模擬器端口被占用了。
二、問(wèn)題的排查過(guò)程
既然是端口被占用了,現(xiàn)在就要看看到底是誰(shuí)占用了端口。
在sdk目錄下的platform-tools目錄中有一個(gè)adb.exe可執(zhí)行程序,這個(gè)就是Android模擬器的啟動(dòng)程序,如下圖所示:

打開(kāi)CMD命令行窗口,進(jìn)入sdk目錄下的platform-tools目錄,輸入命令:adb start-serevr,如下圖所示:

因?yàn)槲以诖罱ˋndroid開(kāi)發(fā)環(huán)境時(shí),已經(jīng)將sdk目錄下的platform-tools目錄加入到Path環(huán)境變量中,如下:


所以我在cmd命令中直接輸入命令:adb start-serevr是可以正常運(yùn)行的,不再需要進(jìn)入到進(jìn)入sdk目錄下的platform-tools目錄。
從上面的排查結(jié)果顯示來(lái)看,確實(shí)是端口被占用了,接下來(lái)需要確定被占用的端口號(hào)是多少,輸入命令:adb nodaemon server,如下圖所示:

原來(lái)是5040這個(gè)進(jìn)程占用了端口,我們要把這個(gè)進(jìn)程找出來(lái),在cmd中輸入命令tasklist /fi "pid eq 5040",如下:

OK,已經(jīng)找到了,是一個(gè)名字為shuame_helper.exe,打開(kāi)任務(wù)管理器,kill這個(gè)進(jìn)程即可。