web-dev-qa-db-ja.com

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

SDKの更新後、Eclipseは次のエラーを表示します。

ADBサーバーはACKを返さず、デーモンの起動に失敗しました。

Androidアプリケーションを実行すると、次のことがわかります。

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

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

156
pengwang

最初の質問を解決しました。Eclipseを開き、SDKマネージャーを開き、開くデバイスを選択します。

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

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

5
pengwang

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

ステップ1: CTRL+Shift+Esc adb.exeプロセスを持つタスクマネージャーを開き、そのプロセスを終了(強制終了)する

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

ステップ3:再度、Eclipseを再起動して、その問題を解決しました。


OS Xを使用している場合

killall adb

Windowsを使用している場合

adb kill-server

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

263
Dharma Kshetri

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

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

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

それが役に立てば幸い。

40
jowett

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

35
FishGuy876

これらの現象は、Android St​​udioと同時に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 ADB settings

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

35
Dan J

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

netstat -aon | findstr 5037

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

Enter image description here

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

tasklist | findstr 1980

Enter image description here

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

taskkill /f /t /im adb.exe

Enter image description here

ADBを通常に戻します。

Enter image description here

クレジット:ブログ投稿* Android ADBサーバーはACKを返さなかったデーモンの起動に失敗しました *

33
Bastet

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

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

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

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

Process Explorer を使用して、プロセスを見つけて終了します。

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

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

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

(余分な空白行を削除すると問題が修正されました)

8
nmr

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

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

Enter image description here

7

電話機の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 *
5
Albert.Qing

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

adb start-server

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

4
dell116

Sysinternals.comを実行し、TCPVIEWおよびPROCESS Explorerをまだインストールしていない場合は、それらを選択します。

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

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

2
HiTechHiTouch

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

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

だから、今、私はこれを取得したときにADBサーバーがACKを返さず、デーモンを起動できませんでした...問題、Eclipseで「更新の確認」を実行しましたヘルプメニュー項目。使用可能な更新はありませんでしたが、少なくとも「ADBサーバーはACKしませんでした」というエラーは消えました。

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

2
Chand51

Androidディレクトリのパスを確認します。スペースなどを含めることはできません。

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

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

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

1
user1372837

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

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

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

そこでtasklist | findstr ****を使用して、プロセスの名前を見つけてタスクマネージャーから強制終了しました。

その後、動作し始めました。

私の場合、bas_daemonbas_helperは両方とも MOBOROBO に対応するこのアドレスを使用していました。

1
DeltaCap019

ターミナルで./adb nodaemon serverと入力します。

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

adb_usb.iniを開き、その内容を消去します。その後、サーバーを再起動してください...それは私のために働いた。

1
aashishdhawan

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

0
Sha Beer

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

以下を実行します。

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

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

0
Veer Shrivastav

これは、私が Samsung Galaxy S III 電話(xda-developerフォーラムガイドに従って)をルートするまで、私にとっては起こりませんでした。

かなりランダムに発生しますが、Eclipseの実行中に間違いなく発生します。

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

0
Nathan Perrier

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

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

0
Chuck.Zhou