SDKの更新後、Eclipseは次のエラーを表示します。
ADBサーバーはACKを返さず、デーモンの起動に失敗しました。
Androidアプリケーションを実行すると、次のことがわかります。
Adbが「D:\ Android-sdk-windows\platform-tools\adb.exe」に正しく配置され、実行できることを確認してください。
この問題を修正するにはどうすればよいですか?
最初の質問を解決しました。Eclipseを開き、SDKマネージャーを開き、開くデバイスを選択します。
または、SDKディレクトリを開くことができます。 SDKマネージャーを開き、開くデバイスを選択します
2:Eclipseを閉じてから開きます。
おかげで、@ jowett、私は同じ問題を解決し、これらの手順を実行しました
ステップ1: CTRL+Shift+Esc adb.exeプロセスを持つタスクマネージャーを開き、そのプロセスを終了(強制終了)する
ステップ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を閉じて再起動します。その後、動作します。
それが役に立てば幸い。
adb_usb.ini
に改行があると、ADBはしばしば失敗します。削除して再起動すると、問題が解決することがよくあります(少なくとも私にとっては)。
これらの現象は、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を使用することです。
[カスタムAndroid SDKツールを使用する]オプションをオンにして、目的の場所を入力します。
コマンドプロンプト(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を返さなかったデーモンの起動に失敗しました *
デバイスに同期アプリケーションを使用している場合、同じ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の最後に余分な空白行を入力して、この問題を引き起こしました。
(余分な空白行を削除すると問題が修正されました)
この問題は簡単に解決できます。
cd <platform-tools directory>
を実行しますadb kill-server
を実行しますadb
がまだ実行されているかどうかを確認します。もしそうなら、単にadb.exe
を殺すadb start-server
を実行します電話機の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 *
私はすでにこの質問に対する別の答えをここに提出しましたが、誰かが疑問に思っている場合に備えて、ADBを再び実行するためにEclipseを再起動する必要はありません。シェルを開いてコマンドを実行するだけです:
adb start-server
システムプロパティでADBへのパスを設定していない場合は、まずADBが存在するディレクトリに移動する必要があります(Android\android-sdk\platform-tools .... Windowsを実行していますが、 Macの人々がどのように物事を行うかを知っている)。
Sysinternals.comを実行し、TCPVIEWおよびPROCESS Explorerをまだインストールしていない場合は、それらを選択します。
何らかの理由で、ソケットのクローズ交換が完了する前に、ADBデーモンが終了しています。 (コマンドプロンプトから) "NETSTAT -o"を実行すると、CLOSE_WAIT状態のソケット(通常5037)と所有プロセス番号が表示されます。プロセスエクスプローラーはそのプロセスID(デーモンが終了)を表示せず、adb.exe(ソケットを開いた)と呼ばれるプロセスはなくなります。 (adb.exeが見つかった場合は、タスクを強制終了して、クリーンアップされるかどうかを確認してください。)
TCPVIEWを使用して、ハングしたソケットを見つけます。プロセス名の列には、関連付けられたプロセスが見つからないことが表示されます。右クリックして、「接続を閉じる」を選択します。これでソケットが閉じられ、adbデーモンが起動できるはずです。
同様の問題がありました。タスクマネージャーからADBプロセスの既存のインスタンスを強制終了するとnotが機能しました。
数日前、MIPS SDKとADT-17を以前にインストールしようとして、Eclipseからエラーが出ましたが、その問題は修正しませんでした。
だから、今、私はこれを取得したときにADBサーバーがACKを返さず、デーモンを起動できませんでした...問題、Eclipseで「更新の確認」を実行しましたヘルプメニュー項目。使用可能な更新はありませんでしたが、少なくとも「ADBサーバーはACKしませんでした」というエラーは消えました。
これがいくつかのケースで役立つことを願っています。
Androidディレクトリのパスを確認します。スペースなどを含めることはできません。
また、プラグインがEclipseで適切に構成されているかどうかを確認します→Preferences。
私の場合、すべてを複数回チェックしましたが、まだ機能していません。すべてを再インストールしようとしていましたが、このサイト(他の投稿)で答えが見つかりました。
アンチウイルスを確認してください。 adb.exe
やエミュレータプログラムなどのポートをブロックしている可能性があります。これで私の場合の問題は解決しました。
@ Bastetのソリューションに加えて:
実際には、アドレス0.0.0.0:0
を使用してプロセスを強制終了する必要があります。だからこそ、タスクマネージャーからadb.exe
を殺す人のほとんどが働いていたのです(私の場合、タスクマネージャーでもそれを見ることができませんでした)。
@ Bastetステップに従って、他のプロセスがこのアドレスを使用していることがわかりました。私はそれを殺すために先に行きました、そして、それは私にACCESS DENIED
をError
として与えました。
そこでtasklist | findstr ****
を使用して、プロセスの名前を見つけてタスクマネージャーから強制終了しました。
その後、動作し始めました。
私の場合、bas_daemon
とbas_helper
は両方とも MOBOROBO に対応するこのアドレスを使用していました。
ターミナルで./adb nodaemon server
と入力します。
Invalid content in adb_usb.ini
が返される場合は、adb_usb.ini
フォルダー内の.Android
ファイルに問題があります。
adb_usb.ini
を開き、その内容を消去します。その後、サーバーを再起動してください...それは私のために働いた。
アンチウイルスまたはファイアウォールを見てください...そのいずれかがアクセスをブロックします... k7アンチウイルスでは、システムモニターをオフにしました。
デバイスやソフトウェアを再起動することなく、最善かつ最も効率的な方法は次のとおりです。
以下を実行します。
adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe
そしてもう一つ.. ADBは自己依存的なものです。それ自体が機能することを望まない限り、あなたは何もすることができません。私が見つけたもう1つの方法があります。デバイスを5〜6分間接続したままにして待機します。すぐにデバイスが接続され、起動しようとします。
これは、私が Samsung Galaxy S III 電話(xda-developerフォーラムガイドに従って)をルートするまで、私にとっては起こりませんでした。
かなりランダムに発生しますが、Eclipseの実行中に間違いなく発生します。
Adb.exeプロセスを強制終了して再起動すると、問題が解決します。
同じ問題がありました。しかし、私のラップトップではadb
のプロセスはありませんでした。ログアウトしてアカウントにログインするだけで解決しました...
その後、ADBはCMDウィンドウから起動できます。