簡體   English   中英

"Eclipse 錯誤“ADB 服務器未確認,無法啟動守護程序”"

[英]Eclipse error "ADB server didn't ACK, failed to start daemon"

更新 SDK 后,Eclipse 顯示此錯誤:

ADB 服務器沒有確認,無法啟動守護進程。

當我運行一個 Android 應用程序時,它給了我以下信息:

請確保 adb 正確位於 'D:\\android-sdk-windows\\platform-tools\\adb.exe' 並且可以執行。

我該如何解決這個問題?

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

第1步: CTRL + Shift + Esc打開任務管理器,其中有adb.exe進程並結束(kill)該進程

第2步:現在,關閉當前在我的計算機上運行的eclipse。

第3步:再次,重啟eclipse然后解決了這個問題。


對於那些使用OS X的人

killall adb

對於那些使用Windows的人

adb kill-server

應該做的伎倆。

我遇到了同樣的問題,雖然我沒有導致這個問題。 無論如何,我找到了一些線索並最終修復。

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

我通過以下步驟修復它:1。打開Windows任務管理器並終止adb.exe進程。 2.關閉eclipse並重新啟動它。 然后它工作。

希望能幫助到你。

如果您在Android Studio的同時使用Genymotion模擬器(在Windows或Linux上),則會出現這些症狀:

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

Genymotion包含自己的adb副本,它會干擾Android SDK中捆綁的副本。

最簡單的修復方法似乎是更新您的Genymotion設置,以便它使用與Android SDK相同的ADB:

genymotion亞行設置

只需選中“使用自定義Android SDK工具”選項,然后輸入所需的位置即可。

如果adb_usb.ini有換行符,ADB通常會失敗。 刪除它,重新啟動它,這通常可以解決問題(至少對我來說)。

命令提示符(cmd.exe):

netstat -aon | findstr 5037

找到0.0.0.0的進程ID:

在此輸入圖像描述

確保它是adb.exe:

tasklist | findstr 1980

在此輸入圖像描述

殺掉這個過程:

taskkill /f /t /im adb.exe

在此輸入圖像描述

讓亞行恢復正常:

在此輸入圖像描述

信用:博客帖子* Android ADB服務器沒有確認無法啟動守護進程 *

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

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

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

獲取應用程序的PID。

使用Process Explorer查找Process並退出它。

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

當我使用Snappea / Wandoujia Sync應用程序時,我遇到了這個問題。

我通過在〜/ .android / adb_usb.ini的末尾輸入一個額外的空行來引起這個問題

(刪除額外的空行修復了問題)

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

  1. 打開命令提示符,然后執行cd <platform-tools directory>
  2. 運行命令adb kill-server
  3. 打開Windows任務管理器並檢查adb是否仍在運行。 如果是,只需殺死adb.exe
  4. 在命令提示符下運行命令adb start-server

在此輸入圖像描述

確保手機上的USB調試已打開。 ADB kill-server和ADB啟動服務器不是問題。

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 *

我已經解決了我的第一個問題:打開Eclipse,打開SDK Manager,然后選擇要打開的設備。

或者您可以打開SDK目錄。 打開SDK Manager,然后選擇要打開的設備

2:關閉Eclipse,然后打開它。

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

adb start-server

如果你還沒有在系統屬性中設置ADB的路徑,那么你必須先進入ADB所在的目錄(在Android \\ android-sdk \\ platform-tools ....我正在運行Windows,我不是'我知道mac人是如何做事的。

我有一個類似的問題。 從任務管理器中殺死現有的ADB流程實例並不適用於我。

就在幾天之前,我曾嘗試過早安裝MIPS SDK和ADT-17,Eclipse給了我錯誤,我沒有解決這個問題。

所以,現在,當我得到這個ADB服務器沒有確認,無法啟動守護進程...問題時,我在Eclipse 幫助菜單項中執行了“檢查更新”。 沒有可用的更新,但至少“ADB服務器沒有確認”錯誤消失了。

我希望這可能在一些情況下有所幫助。

如果你還沒有安裝它們,請運行到sysinternals.com並選擇TCPVIEW和PROCESS EXPLORER。

出於某種原因,ADB守護程序在關閉套接字交換完成之前終止。 如果您運行(從命令提示符)“NETSTAT -o”,您將看到處於CLOSE_WAIT狀態的套接字(通常為5037)和擁有的進程號。 Process Explorer不會顯示進程ID(守護程序終止),並且名為adb.exe(打開套接字)的進程將消失。 (如果找到adb.exe,請嘗試終止任務並查看是否清理了某些內容。)

使用TCPVIEW,找到掛起的套接字。 進程名稱列將顯示無法找到的關聯進程。 右鍵單擊,然后選擇“關閉連接”。 套接字現已關閉,adb守護程序應該能夠啟動。

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

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

在我的情況下,我已經多次檢查了一切,但它仍然無法正常工作。 我准備重新安裝所有東西,但我在這個網站上找到了答案(其他一些帖子)。

請檢查您的防病毒軟件。 它可能阻止了adb.exeadb.exe程序等的端口。這解決了我的問題。

除了@Bastet的解決方案:

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

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

所以使用tasklist | findstr **** tasklist | findstr ****我找到了進程的名稱並將其從任務管理器中刪除。

此后它開始工作了。

在我的例子中, bas_daemonbas_helper正在使用這個地址,這兩個地址都對應於MOBOROBO

在終端中鍵入./adb nodaemon server

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

打開adb_usb.ini並清除其內容。 然后重啟服務器......它對我有用。

我有同樣的問題。 但我的筆記本電腦上沒有adb進程。 我剛剛退出並登錄到我的帳戶,它已經解決了......

之后,ADB可以從CMD窗口開始。

無需重新啟動任何設備或軟件即可獲得最佳和最有效的方法:

運行以下命令:

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

還有一件事......亞行是一種自立的東西。 除非它想要自己工作,否則你什么都做不了。 我發現還有一種方法:將設備連接5-6分鍾並等待。 設備很快就會連接並嘗試啟動。

在我使用三星Galaxy S III手機(遵循xda-developer論壇指南)之前,這並沒有開始發生。

它隨機發生,但在運行Eclipse時肯定會發生。

殺死adb.exe進程並重新啟動它可以解決問題。

看看防病毒或防火牆......是否有任何阻止你訪問...在k7殺毒軟件我關閉了系統監視器,它確實適合我...

Linux/Ubuntu 用戶也可能是這種情況......我有一個 android 模擬器正在運行,我不得不殺死它。 為此,請執行以下操作

lsof -i :5307

(如果需要,請使用 sudo)注意上述命令結果中的 pid。 然后

kill -9 <pid_from_above>

然后繼續

adb shell

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

我重新啟動了Eclipse,然后它運行了。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM