Eclipseエラー「ADBサーバーはACKを行わず、デーモンを起動できませんでした」


158

SDKを更新すると、Eclipseに次のエラーが表示されます。

ADBサーバーはACKを行わず、デーモンを起動できませんでした。

Androidアプリケーションを実行すると、次のようになります。

adbが「D:\ android-sdk-windows \ platform-tools \ adb.exe」に正しく配置され、実行できることを確認してください。

この問題を解決するにはどうすればよいですか?


最近genymotionをインストールしましたが、その後発生し始めた解決策は、ターミナルからadbコマンドを手動で削除し、ubantuの環境変数にsdk / platform-toolsを指すようにadbパスを設定することでした。
vikas kumar

回答:


263

おかげで、@jowett、私は同じ問題を解決し、これらの手順を実行しました

手順1: CTRL + Shift+ Escadb.exeプロセスがあり、そのプロセスを終了(kill)するタスクマネージャーを開く

ステップ2: 次に、現在コンピューターで実行されているEclipseを閉じます。

ステップ3: 再び、日食を再起動し、その問題を解決しました。


OS Xをお使いの方

killall adb

Windowsをご利用の方

adb kill-server

トリックを行う必要があります。


40

何が原因なのかはわかりませんが、同じ問題に遭遇しました。とにかく、私はいくつかの手がかりを見つけ、最終的に修正しました。

SDKとAVDマネージャーを開いたが、AVDバージョン(2.3.3)がandroid libバージョン(2.3)と同じでないことがわかりました。そこで、2.3で新しいAVDを作成します。

次の手順で修正しました。1. Windowsタスクマネージャーを開き、adb.exeプロセスを終了します。2. Eclipseを閉じて再起動します。その後、動作します。

それが役に立てば幸い。


35

これらの現象は、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にバンドルされているものと干渉します。

修正する最も簡単な方法は、Android SDKと同じADBを使用するようにGenymotion設定を更新することです。

genymotion ADB設定

[カスタムAndroid SDKツールを使用する]オプションをオンにして、目的の場所を入力するだけです。


Android Studioを2.1.2にアップデートすると機能します。
Noel Bautista 2016

35

に改行がある場合、ADBは失敗することがよくありますadb_usb.ini。それを削除して再起動すると、問題が解決することがよくあります(少なくとも私にとっては)。


Kindle Fireでデバッグしようとすると、このファイル〜/ .android / adb_usb.iniにエントリを作成したかったのですが、無意識のうちにいくつかの余分な空白行が追加されていました。今それを削除しました。直った、ありがとう。
ティル

35

コマンドプロンプト(cmd.exe):

netstat -aon | findstr 5037

0.0.0.0のプロセスIDを見つけます。

ここに画像の説明を入力してください

adb.exeであることを確認します。

tasklist | findstr 1980

ここに画像の説明を入力してください

このプロセスを終了します。

taskkill /f /t /im adb.exe

ここに画像の説明を入力してください

ADBを通常の状態に戻します。

ここに画像の説明を入力してください

クレジット:ブログ投稿* Android ADBサーバーはデーモンを開始できませんでしたACKに失敗しました *


私の側はtfadb.exeです、それを殺した後、それは働いています、ありがとう。
BobGao 14

私の場合、svchost.exeがポートを使用していました。それを殺した後、それは首尾よく始まった。
ranka47

13

デバイスで同期アプリケーションを使用している場合は、同じ5037ポートを使用している他のアプリがある可能性もあります。ポート5037で実行されているすべてのサービスをシャットダウンし、ADBを起動してみてください。

アプリケーションがポート5037を使用しているかどうかを確認するには、次のコマンドを使用します。

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

アプリケーションのPIDを取得します。

プロセスエクスプローラーを使用してプロセスを見つけ、終了します。

次に、adb start-serverまたはadb get-stateを使用して、ADBサーバーのステータスを開始/確認します。

Snappea / Wandoujia Syncアプリケーションを使用したときに問題に直面しました。


ありがとう!svchost.exeが何らかの理由で突然そのポートを使用していた。
Jacob L

これがいつ修正されるかはわかりませんが、まだ修正されないのは残念です。
Dejan

8

〜/ .android / adb_usb.iniの最後に余分な空白行を入力してこの問題を引き起こしました

(余分な空白行を削除すると問題が解決しました)


最後の行だけでなく、すべての空白行を削除して、同様の問題を修正してください。
Pavel

2
Kindle Fireの行を入力するときに最後に空白行を1つ追加したため、同じ問題が発生しました。空白行を削除してadbを問題なく再起動しました。ありがとう。
Jerome Mouneyrac

7

この問題は簡単に解決できます。

  1. コマンドプロンプトを開いて、 cd <platform-tools directory>
  2. コマンドを実行 adb kill-server
  3. Windowsタスクマネージャを開き、adbがまだ実行されているかどうかを確認します。もしそうなら、ただ殺すadb.exe
  4. adb start-serverコマンドプロンプトでコマンドを実行する

ここに画像の説明を入力してください


Eclipseを再起動する必要はありません!:)
TWiStErRob 2014

5

最初の質問を解決しました。Eclipseを開き、SDK Managerを開いて、開くデバイスを選択します。

または、SDKディレクトリを開くことができます。SDK Managerを開き、開くデバイスを選択します

2:Eclipseを閉じてから開きます。


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 *

4

私はすでにこの質問に対する別の回答を投票しましたが、誰かが疑問に思っている場合に備えて、ADBを再度実行するためにEclipseを再起動する必要はありません。シェルを開いてコマンドを実行するだけです:

adb start-server

システムプロパティでADBへのパスを設定していない場合は、最初にADBが存在するディレクトリに移動する必要があります(Android \ android-sdk \ platform-tools ....でWindowsを実行していますが、マックの人々が物事をどのようにしているかを知っている)。


2
それは問題ではありません。コマンドラインからもエラーが出ます。
IgorGanapolsky

Macでそれを行う方法が見つかりませんでした。ADBを強制終了しても効果がなかったため、コンピューター全体を再起動する必要がありました。その後、再び機能しました。
Marcel Bro 2014年

2

sysinternals.comにアクセスし、TCPVIEWとPROCESS EXPLORERをインストールします(まだインストールしていない場合)。

何らかの理由で、ADBデーモンは、ソケットのクローズ交換が完了する前に終了します。(コマンドプロンプトから) "NETSTAT -o"を実行すると、CLOSE_WAIT状態のソケット(通常は5037)と所有プロセス番号が表示されます。プロセスエクスプローラーはそのプロセスID(デーモンが終了した)を表示せず、adb.exe(ソケットを開いた)と呼ばれるプロセスはなくなります。(adb.exeが見つかった場合は、タスクを強制終了して、クリーンアップされるかどうかを確認してください。)

TCPVIEWを使用して、ハングしたソケットを見つけます。プロセス名の列には、関連するプロセスが見つからないことが表示されます。右クリックして「接続を閉じる」を選択します。これでソケットが閉じられ、adbデーモンを起動できるようになります。


参考になりました。また、プロセスエクスプローラーで、Path列が[エラーのプロセスを開く]と実行されているadb.exeが実行されている場合、それが原因である可能性があります。
Samik R

2

同様の問題がありました。タスクマネージャーからADBプロセスの既存のインスタンスを強制終了しませんでした機能しませんでした。

ほんの数日前に、以前にMIPS SDKとADT-17をインストールしようとしたところ、Eclipseでエラーが発生しました。その問題は修正しませんでした。

それで、今、このADBサーバーがACKせず、デーモンを開始できませんでした...問題、Eclipseのヘルプメニュー項目で「更新の確認」を実行しました。利用可能な更新はありませんでしたが、少なくとも「ADBサーバーはACKを実行しませんでした」というエラーは消えました。

これがいくつかのケースで役立つことを願っています。


1

タイプ ./adb nodaemon server端末をします。

が返される場合はInvalid content in adb_usb.iniadb_usb.iniファイルに問題があります.androidフォルダー内のます。

adb_usb.ini内容を開いて消去します。次に、サーバーを再起動します...私にとってはうまくいきました。


1

Androidディレクトリのパスを確認します。スペースなどを含めないでください。

また、プラグインがEclipse→ Preferencesで適切に構成されているかどうかを確認します。

私の場合、すべてを何度もチェックしましたが、それでも機能しませんでした。すべてを再インストールしようとしていましたが、このサイト(他の投稿)で回答が見つかりました。

ウイルス対策を確認してください。ポートadb.exeやエミュレータプログラムなどをブロックしている可能性があります。これで私の問題は解決しました。


1

@Bastetのソリューションに加えて:

実際には、アドレスを使用してプロセスを強制終了する必要があります0.0.0.0:0。そのためadb.exe、タスクマネージャーで殺害した人のほとんどは働いていました(私の場合、タスクマネージャーでもそれを確認できませんでした)。

@Bastetの手順に従って、他のプロセスがこのアドレスを使用していることがわかりました。私はそれを殺すために先に行き、そしてそれは私を与えたACCESS DENIEDとしてError

だからtasklist | findstr ****私はプロセスの名前を見つけてタスクマネージャーから殺しました。

その後、それは働き始めました。

私の場合bas_daemonbas_helperこのアドレスを使用しており、どちらもMOBOROBOに対応しています


0

私も同じ問題を抱えていました。しかしadb、私のラップトップにはプロセスがありませんでした。ログアウトしてアカウントにログインするだけで解決します...

その後、ADBはCMDウィンドウから開始できます。


0

デバイスやソフトウェアを再起動せずに最善かつ最も効率的な方法は次のとおりです。

以下を実行します。

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

そしてもう一つ.. ADBは自立したものです。それ自体が機能することを望まない限り、何もできません。私が見つけたもう1つの方法があります。デバイスを5〜6分間接続したままにして、待ちます。すぐにデバイスが接続され、起動を試みます。


0

これは、Samsung Galaxy S III電話を応援するまで続きました(xda-developerフォーラムガイドに従ってください)。

これはかなりランダムに発生しますが、Eclipseの実行中に確実に発生します。

adb.exeプロセスを強制終了して再起動すると、問題が解決します。


0

アンチウイルスまたはファイアウォールを確認してください...そのいずれかがアクセスをブロックしています... k7アンチウイルスでは、システムモニターをオフにしました。


-1

ファイアウォール内のネットワークにadb.exeがアクセスできるようにする必要がありました。


1
私はこのファイアウォールを使用しています。sphinx-soft.com / de / Vista / order.html私が行ったのは、adb.exeのルールをallow all
Terel

-1

Eclipseを終了してから再起動しても、助けにはなりませんでした。AndroidツールをPATH変数に追加し、タスクマネージャーを起動して、adb.exeを終了しました。

私はEclipseを再起動しましたが、うまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.