2011-04-18 35 views
153

更新SDK後,Eclipse中顯示了這個錯誤:Eclipse的錯誤「ADB服務器沒有ACK,未能啓動守護」

ADB server didn't ACK, failed to start daemon.

當我運行一個Android應用程序,它給了我下面的:

Please ensure that adb is correctly located at 'D:\android-sdk-windows\platform-tools\adb.exe' and can be executed.

我怎樣才能解決這個問題?

+0

最近剛安裝的genymotion之後,它開始發生的解決方法是手動刪除終端亞行命令,並在ubantu指向SDK /平臺的工具設置環境變量亞行路徑,然後它的工作。 – 2018-01-12 06:36:10

回答

4

我已經解決了我的第一個問題:打開Eclipse,打開SDK管理器,選擇設備打開。

或者您可以打開SDK目錄。打開SDK管理器,然後選擇設備打開

2:關閉Eclipse,然後再打開它。

40

我遇到了同樣的問題,但我沒有造成這種情況。無論如何,我終於找到了一些線索並加以修復。

當我打開SDK和AVD管理器,但發現AVD版本(2.3.3)不一樣的Android庫版本(2.3)。所以我用2.3創建了一個新的AVD。

我固定它通過以下步驟:1. 打開Windows任務管理器和殺adb.exe過程。 2.關閉eclipse並重新啓動它。然後它工作。

希望它有幫助。

261

感謝,@jowett,我已經解決了我同樣的問題,做這些步驟

第1步: CTRL ++ Esc鍵打開任務管理器,它具有adb.exe過程和結束(中止),該過程

步驟2: 現在,關閉該文摘e,它正在我的電腦上運行。

步驟3: 同樣,重新啓動Eclipse然後解決了這個問題。


對於使用OS X

killall adb 

對於那些使用Windows

adb kill-server 

應該做的伎倆。

+0

...或殺死ADB過程,而不是Eclipse的 - 也適用 – 2013-11-30 12:19:04

1

在終端中輸入./adb nodaemon server

如果它返回Invalid content in adb_usb.ini,則說明.android文件夾中的adb_usb.ini文件存在問題。

打開adb_usb.ini和刪除其內容。然後重新啓動服務器...它爲我工作。

2

跑過來sysinternals.com,拿起套裝軟件和進程管理器,如果你沒有他們已經安裝。

出於某種原因,ADB守護程序終止前關閉套接字交換完成。如果您運行(從命令提示符)「NETSTAT -o」,您將看到處於CLOSE_WAIT狀態的套接字(通常爲5037)以及擁有的進程號。 Process Explorer將不會顯示進程ID(守護進程已終止),並且名爲adb.exe的進程(已打開套接字)將不再顯示。 (如果adb.exe如果找到,試圖殺死任務,看看如果事情得到清理。)

使用套裝軟件,找到掛插座。進程名稱列將顯示無法找到的關聯進程。右鍵單擊,然後選擇「關閉連接」。套接字現在關閉,並且adb守護程序應該能夠啓動。

+0

有用。另外,在Process Explorer中,如果看到adb.exe運行時顯示[錯誤打開進程]的Path列,則可能是可能的罪魁禍首。 – 2012-04-04 19:03:11

8

我通過在〜/ .android/adb_usb.ini

末進入一個額外的空白行導致此問題(刪除多餘的空行固定的問題)

+0

通過刪除所有空行而不僅僅是最後一行來修復類似問題。 – Pavel 2012-03-31 21:07:39

+2

我有同樣的問題,因爲我在進入Kindle Fire行時在最後添加了一行空白行。我刪除了空行和adb重新啓動沒有問題。謝謝。 – 2012-05-07 05:43:35

4

我已經向上在這個問題上投了另一個答案,但如果有人想知道,你不需要重新啓動Eclipse來讓ADB再次運行。只需打開外殼並運行命令:

adb start-server 

如果您還沒有設置路徑ADB在您的系統屬性,那麼你必須先去其中亞行存在(在Android的\ Android的SDK目錄\平臺工具....我正在運行Windows,我不知道如何mac的人做事情)。如果在adb_usb.ini換行符

+2

這沒關係。我也從命令行得到錯誤。 – 2011-12-22 17:20:00

+0

我沒有找到一種方法如何在Mac上做到這一點。強制戒菸亞行沒有幫助,所以我不得不重新啓動整臺電腦。然後它再次工作。 – 2014-01-31 09:36:39

35

亞行往往會失敗。刪除它,重新啓動它,這通常會解決問題(至少對我來說無論如何)。

+0

試圖調試與Kindle Fire的希望在這文件〜/ .android/adb_usb.ini的條目,但在不知不覺中增加一些額外的空行。現在刪除它。得到修復,謝謝。 – Thiru 2013-07-20 12:30:07

1

檢查Android目錄的路徑。它不應該包含空格等。

還要檢查插件是否已在Eclipse中正確配置→首選項

在我來說,我擁有了一切檢查多次,但它仍然沒有工作。我正要重新安裝所有東西,但我在這個網站上找到了答案(其他一些帖子)。

請檢查您的防病毒軟件。它可能會阻止端口adb.exe或模擬器程序等,這在我的情況下解決了這個問題。

+0

在我的情況也是它爲信息.. – Priya 2015-03-13 20:25:19

0

我有同樣的問題。但我的筆記本上沒有adb的過程。我只是註銷並重新登錄到我的帳戶,它的解決...

亞行可以從後窗戶CMD開始。

+0

這不是一個真正的解決方案antivirus.Thanks。 – nalply 2012-10-19 22:41:00

2

我有類似的問題。從任務管理器中刪除現有的ADB進程實例而不是爲我工作。幾天前,我曾嘗試過安裝MIPS SDK和ADT-17,並且Eclipse給了我這個錯誤,但我沒有解決這個問題。

所以,現在,當我得到這個ADB服務器沒有ACK,未能在Eclipse 幫助菜單項,啓動守護...問題,我執行「檢查更新」。 沒有可用的更新,但至少'ADB服務器沒有確認'錯誤消失。

我希望這可能有助於在少數情況下。

13

如果您正在使用該設備的同步應用程序,也有可能是因爲有使用同一端口5037其他應用程序。關閉端口5037上運行的所有服務並嘗試啓動ADB。

要檢查是否有任何應用程序正在使用端口5037,使用:

netstat -a -n -o |findstr "5037" 

獲取應用程序的PID。

使用Process Explorer發現過程和退出。

現在使用adb start-serveradb get-state啓動/檢查ADB服務器狀態。

我所面臨的問題,當我用Snappea/Wandoujia同步應用程序。

+0

謝謝!由於某種原因,svchost.exe突然使用該端口。 – 2013-09-19 14:09:42

+0

我不知道這個問題什麼時候能解決,但是不能被固定下來是一種遺憾。 – Dejan 2016-06-20 07:52:25

0

最好的和無需重新啓動任何設備或軟件的最有效的方法是:

運行以下命令:

adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe 

還有一件事.. ADB是一個自立的事情。除非它希望自己能夠工作,否則你無法做任何事情。還有一種方法,我發現:將設備連接5-6分鐘並等待。很快,該設備連接並嘗試啓動。

0

這並沒有開始發生了我,直到我紮根我Samsung Galaxy S III電話(繼XDA開發者論壇指南)。

它發生得非常隨機,但它肯定是在運行Eclipse時發生的。

查殺adb.exe過程並重新啓動它解決了這個問題。

7

我們可以很容易地解決這個問題。

  1. 打開命令提示符,並做cd <platform-tools directory>
  2. 運行命令adb kill-server
  3. 打開Windows任務管理器,並檢查是否adb仍在運行。如果是,就在命令提示符下

Enter image description here

+0

無需重啓Eclipse! :) – TWiStErRob 2014-07-29 12:18:33

32

命令提示符(cmd.exe的)殺adb.exe

  • 運行命令adb start-server

    netstat -aon | findstr 5037 
    

    查找0.0的進程ID。 0.0:

    Enter image description here

    確保它是adb。EXE:

    tasklist | findstr 1980 
    

    Enter image description here

    殺了這個過程:

    taskkill /f /t /im adb.exe 
    

    Enter image description here

    獲得亞行恢復正常:

    Enter image description here

    信用度:博客文章* Android ADB server didn't ACK failed to start daemon *

  • +0

    我的身邊是tfadb.exe,殺死它後,它的工作,謝謝。 – BobGao 2014-04-02 07:23:05

    5

    確保手機上的USB調試已打開。 ADB kill-server和ADB start-server不是問題。

    C:\Documents and Settings\Administrator> adb nodaemon server 
    
    - cannot bind 'tcp:5037' 
    
    C:\Documents and Settings\Administrator> netstat -aon | findstr "5037" 
    
    - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0 
    - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0 
    - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088 
    - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0 
    - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0 
    - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0 
    
    C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088" 
    
    - Image name PID session name session # memory usage 
    

    ========================= ====== ============ ==== ======== ============

    - adb.exe 3088 Console 0 3,816 K 
    
    C:\Documents and Settings\Administrator>taskkill /f /pid 3088 
    
    - Success: terminate the PID for the process of 3,088. 
    
    C:\Documents and Settings\Administrator>adb start-server 
    
    - daemon not running. starting it now on port 5037 * 
    - daemon started successfully * 
    
    -1

    殺害的Eclipse,然後重新啓動並沒有幫助我。我將Android工具添加到PATH變量中,啓動了任務管理器並殺死了adb.exe。

    我重新啓動Eclipse,然後工作。

    0

    看的防病毒或防火牆......是否有該塊,你從訪問...在K7殺毒我關掉系統監測,與它的作品對我來說...

    -1

    我不得不讓adb.exe在我的防火牆中訪問我的網絡。

    adb server is out of date. killing... 
    ADB server didn't ACK 
    * failed to start daemon * 
    

    Genymotion包括它自己的adb副本,它與一個捆綁干擾:如果您使用的是Genymotion仿真器(在Windows或Linux),同時由於Android工作室發生

    +0

    你是怎麼做到的? – 2014-10-03 18:07:15

    +1

    我使用這個防火牆:http://www.sphinx-soft.com/de/Vista/order.html 我所做的是改變adb.exe爲'允許all' – Terel 2014-10-06 14:31:25

    35

    這些症狀Android的SDK。

    解決最簡單的方法似乎是更新您的Genymotion設置,以便它使用相同的ADB爲你的Android SDK:

    genymotion ADB settings

    只需選中「使用自定義Android SDK工具」選項,並輸入您想要的位置。

    +0

    作品的規則,我更新後Android Studio到2.1.2。 – 2016-07-01 17:52:35

    1

    除了@Bastet的解決方案:

    其實我們使用的地址0.0.0.0:0殺死進程。這就是爲什麼大多數人從任務管理器殺死adb.exe的是工作(在我的情況,我無法看到它甚至在任務管理器)。

    @Bastet步驟後,我發現其他一些進程正在使用此地址。我繼續殺它,它給了我ACCESS DENIEDError

    因此,使用tasklist | findstr ****我發現了過程的名稱,並從任務管理器把它打死了。

    此後它開始工作。

    在我的情況下,bas_daemonbas_helper正在使用這個地址,這兩個地址都對應於MOBOROBO

    相關問題