adb devices
を実行しようとするたびに:
$ adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
デーモンが実行されていないことを示し、デーモンを再起動します。
次に、adbデバイスを再度実行すると、同じことが行われます-
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
その後、もう一度実行すると、まったく同じことが再び行われます-
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
助けてください!!
また、私のDDMSから次のメッセージが引き続き表示されます-
[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote Host
Adbが再起動する直前のログを次に示します-
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [480]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi V qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
1291 lib_locapi V qct_loc_eng_inject_xtra_data, total part = 100, len = 167
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [248]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi D qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
1291 lib_locapi V inject_xtra_waiting = flase
1291 GpsLocationProvider D Releasing wakelock
1291 WifiService D releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=Android.os.Binder@47aead50}
1291 WifiService D enable and start wifi due to updateWifiState
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I unblock rmt_storage client thread
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 1
1291 BatteryStatsImpl I notePhoneSignalStrengthLocked: 4->3
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I unblock rmt_storage client thread
1291 PowerManagerService D New lightsensor value:40, lcdValue:143
1291 PowerManagerService D lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 2
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [80]
1291 locapi_rpc_glue V Callback received: 80 (cb_id=0x50B0000 handle=1)
1291 RPC D written RPC packet size: [28]
1470 usicWidgetController D unbindMusicPlaybackService()
1707 MediaPlaybackService E BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
1291 NotificationService V Battery Full, Charging
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 lights E write ok string=1,len=1
1707 MediaPlayer.Java D setOnCompletionListener being cleaned to null
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 NotificationService V Turn off Jogball/OJ LED
1291 NotificationService D cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
1291 AudioService I AudioFocus abandonAudioFocus() from Android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService$5@476dd838
Dell PC SuiteとHTC Syncをコンピューターからアンインストールすると、この問題はなくなりました。
編集:この問題の原因を少し詳しく説明すると、HTC同期には独自のADBサーバーが付属しています。そして、サーバーのバージョンを指すようにPATH環境変数を更新します。 PATH変数を編集し、HTC Syncディレクトリへの参照を削除します。今、あなたは再びGoogleのADBを使用しています。
仮想デバイスにGenymotionを使用していますか?
はいの場合、GenymotionのADBがAndroid SDK(同じポート番号を使用)のADBと競合するため、このエラーが発生した可能性があります。これを修正するには、settings
=> ADB
タブ=>オプションUse custom Android SDK Tools
をクリックして、SDKフォルダーを設定します
これを設定した後、adb
が配置されたフォルダーplatform-tools
に移動してadbを再起動し、次のコマンドを実行します。
./adb kill-server
./adb start-server
*ヒント:上記のコマンドを実行する前に、Genymotionのプロセスを閉じることができます
この助けを願っています。
サーバーを手動で強制的に強制終了して再起動する必要がある場合があります。
adb kill-server
adb start-server
通常、このショックはそれを元に戻すのに十分であり、繰り返しadb server is out of date. killing...
メッセージを防ぎます。
システム上で複数のadbプロセスが実行されている場合があります。 Android Reverse Tether などのツールは独自のバージョンのadbツールを使用する可能性があるため、メモリ内のバージョンは(パス変数を介して)コマンドラインから実行されるバージョンと競合する可能性があります。
Windowsでは、を押します CTL+Shift+ESC タスクマネージャーにアクセスするには、Image Name列でソートし、右クリックしてEnd Processを選択して、adb.exe
のすべてのインスタンスを強制終了します。 。以下にadb.exe
のインスタンスが複数あることに注意してください。
Linux環境では、kill -9
コマンドを使用するだけです。このようなことは、Android adb
を実行しているデバイスで機能しました(ps
出力を使用し、grep
で始まるプロセスをadb
で検索し、プロセスを取得しますadb
プロセスからのID、およびそのIDをkill -9
コマンドに送信):
kill -9 $(ps | grep "S adb" | busybox awk '{print $2}')
adb
プロセス(つまり競合)が解決したら、コマンドラインからadb
の実行を再試行します。
adb start-server
私のマシン(Ubuntu 14.04およびGenymotion 2.5.2)では、問題の原因は、異なるバージョンの2つのadbファイルがあったことです。
(この問題の原因を絞り込む前に、Aditya Kresna Permanaのアドバイスに従って、マシンにインストールされたAndroid SDKディレクトリを参照するGenymotionの[設定]> [カスタムAndroid SDKツールを使用]を既に持っていました。 Webからadbサーバーと他のいくつかのソリューションを起動します)。
次に、Android SDKインストールディレクトリ「〜/ Android/Sdk/platform-tools」からadb version
を実行すると、「Android Debug Bridgeバージョン1.0.32」が生成されることがわかりました。
ただし、「/ usr/bin」ディレクトリからのadb version
コマンドは生成されます-「Android Debug Bridgeバージョン1.0.31」
したがって、ちょうど従いました- http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-Android-adb-fastboot-qtadb は「/ usr/binのadbを更新します」
# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/Android/bin/linux.tar.gz | tar -zxvf - adb
# Sudo mv adb /usr/bin/adb
# Sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32
そして今、adb devices
を実行すると、期待どおりに完全に動作します。
また、PhoneGap(Cordova)アプリがGenymotionの仮想デバイスと統合されない前の問題も解決しました。今、明らかにその問題も解決しました。
HTC Syncを終了して、もう一度試してみたところ、うまくいきました。通知:電話が黒くなった(ロックされた)ので、電源を入れたばかりで、アプリケーションが実行されていました。 :)
これは、SDKに含まれているもの以外のadbを実行しているために発生します。 Linuxの場合、adbバイナリの場所を確認してください
which adb
Expected Output : Android_SDK/platform-tools/adb
Android_SDK/platform-tools/adbを指していない場合は、マシン上の別の場所にインストールされている古いバージョンのadbを実行しています。
SDKで提供されているもの以外にadbの実行に問題はありませんが、欠点はAndroid SDKの更新時に自動的に更新されないため、この古いバージョンの問題が発生するためです。
簡単な修正方法であり、今後この問題を回避するために、古い(誤解を招く)adbバイナリファイルを別の名前に変更します。
この問題を解決するには、手順に従ってください。
$ which adb
*o/p /usr/bin/adb - (output will depend on your machine)*
$ cd /usr/bin/
$ ls -lt | grep adb
*o/p -rwxr-xr-x 1 root root 160912 Mar 31 2016 adb*
$ Sudo mv adb adb_bakup
$ ls -lt | grep adb
o/p -rwxr-xr-x 1 root root 160912 Mar 31 2016 adb_bakup
$ export PATH="/path/to/Android_sdk/platform-tools:$PATH"
$ which adb
*o/p <your Android sdk dir>/platform-tools/adb* ---> You are all good now
システム:Windows 10
私の問題:カスタムSDKを指すようにGenymotionを設定しても影響はありませんでした。私はまだ受け取った:
Androidでプロジェクトを開始できませんでした:smartsocketリスナーをインストールできませんでした:127.0.0.1:5037にバインドできません:各ソケットアドレス(プロトコル/ network address/port)は通常許可されています。 (10048)ADBサーバーからOKを読み取ることができませんでした*デーモンの起動に失敗しました*エラー:デーモンに接続できません
私が発見したのは、システム全体で使用されているADBバージョンに違いがあるということです。これらを見つけるために使用したコマンドは次のとおりです。
where /r C:\ adb.exe
これにより結果が得られました。
C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
各ディレクトリに移動して実行する:
adb.exe version
ExpoがADBバージョンを実行していることを確認できました。
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-Android
カスタムSDKを使用するGenymotionにはバージョン(c:\ Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe)がありました:
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-Android
テストとして、adbファイル(adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll)を取得しました
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
そしてそれらをバックアップフォルダに入れました。次に、次の場所にあるadbファイルを移動しました
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
同じ場所に。私はadbを殺しました:
adb kill-server
genymotionデバイスが既に実行されているため、adbサーバーが自動的に再起動しました。 Expo XDE内の[再起動]ボタンを押すと、すぐに機能し始めました。以下に、午前1時13分4秒に再起動ボタンを押したログを示します。
12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
結論:GenymotionとExpoは、Expoがシミュレートされたデバイスと適切に通信できるように、同じバージョンのadbを使用する必要がある場合があります。 GenymotionにAndroid SDKの場所を指定し、Expo XDEが同じバージョンを使用していることを確認すると、デバイス間の正しい通信が可能になります。 Expo XDEバージョンをSDKの場所に移動しましたが、別の方法で移動できる場合があります(sdk ADBファイルを取得して、Expo XDEリソースの場所に配置します)。
P.S。私はこの問題に関連するstackoverflowの投稿をすべて読み終えました。私のタスクマネージャーがadb.exeの3つのインスタンスを実行していることを示していることを知っているだけです。それらのいずれかを殺すと、彼らは戻ってきます。
これが/ cheersに役立つことを願って
デバイス(adbd)上のADBデーモンは、ホストコンピューター上のADBサーバープロセスと、それらが話しているプロトコルのバージョンについて一致していないようです。実行しているSDKのバージョンと、デバッグしているデバイスのOSバージョンは何ですか?
あなたがする必要があるかもしれないことは、実際にSDKツールのバージョンをダウングレードして、ADBデーモンとプロセスが一致するようにすることです。サーバープロセスには完全な下位互換性があると思いましたが、これは互換性のないコーナーケースの1つである可能性があります。 Googleは、古いSDKツールパッケージを入手できるという事実を宣伝していませんが、 http://developer.Android.com のアーカイブエリアを調べることで見つけることができます。
これで壁に頭を打ちました。これは、HTC syncの最新バージョン(3.0.5579)をインストールしたときに発生し始めました。何らかの理由で、adb.exeがタスクマネージャーに複数回表示され、adbサーバーが期限切れになりエラーが複数回表示されるようになりました。 HTC同期ディレクトリとAndroid SDKプラットフォームツールディレクトリにadb.exeバージョンが見つかりました。 Android SDKディレクトリを正しく指すパス設定があり、HTC同期パスが表示されませんでした(おそらく何かが足りなかったかもしれませんが、そうは思いません)。とにかく、問題を修正するために、HTC Syncディレクトリのadb.exeファイルの名前を変更しただけで、すべてが再び機能しました。これはこの修正を行う正しい方法ではないかもしれませんが、私にとってはうまくいきました。
Htc syncアプリケーションを完全に閉じて、もう一度やり直しました。想定どおりに機能しました。
助けてくれました:HTC Sync(システムトレイ内)を停止し、HTCのadb.exe(C:\ Program Files(x86)\ HTC\HTC Sync 3.0\adb.exe)の名前を変更しました。
まず、ADBを使用するすべてのものを閉じます。 (Android Studio、Eclipse、Emulator(Bluestackも同様))その後
adb kill-server
adb start-server
私の場合、Studioのアップデートを入手しました。
システム:Windows 7、Android Studio。
このエラーは、Windowsコマンドラインからadb devices
を実行したときに発生しました。
根本的な原因は、コマンドラインから実行しているadbがAndroid Studioから実行しているadbと同じではないことでした。
溶液:
まず、マシン上で実行中のすべてのadbプロセスを強制終了します。
taskkill /F /IM adb.exe
Android Studioからアプリを実行します。
以下のコマンドの実行 により、WindowsタスクマネージャーからORのいずれかでadb.exeの正確なファイルの場所を見つけます。
wmic process where "name='adb.exe'" get ProcessID, ExecutablePath
Windowsコマンドプロンプトで、where adb
を実行して、コマンドプロンプトから実行されるadbを見つけます。このパスは、上記のステップ3のパスとは異なります。
Windowsシステム変数PATHを編集します。ステップ4で見つかったベースパスを削除します。
PATHを編集した後、新しいコマンドプロンプトで以下のコマンドを入力すると、この変数の現在の内容を確認できます(古いプロンプトは使用しないでください)。
echo %PATH%
ここで、コマンドプロンプトからadbを実行します。 「サーバーの期限切れエラー」は表示されません。
adb logcat
などのadb
を使用しようとすると、次のエラー出力が表示されるという同様の問題が発生しました。
adb server version (40) doesn't match this client (36); killing...
このソリューション 2018年、Ubuntu 18.04でAndroid Studio 3.2.1から端末を使用して動作しました。
コマンドは次のとおりです。
adb kill-server Sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb Sudo chmod +x /usr/bin/adb adb start-server
システム上のAndroid/
へのパスに基づいてcp
コマンド引数を調整する必要がある場合があります。
私のソースへの第2世代の称賛: https://stackoverflow.com/a/40991118/7015599
これを試して:
Eclipseアプリケーションを閉じます。
adb kill-server
Eclipseを再起動します。
OS:Ubuntu
複数のadbが実行されています。現在のadbを確認します。
which adb
Expected Output : Android_SDK/platform-tools/adb
通常、結果は次のようになります。
/usr/bin/adb
この古いバージョンを削除するには:
cd /urs/bin
Sudo rm adb
さて、「Lenovo Photo Companion」と一緒に配布されるadb.exeの別のインスタンスがあります。私の友人は、Lenovo Yogaノートブックを持ち、別のadb.exeを含むこのソフトウェアをインストールしました
それを削除することで問題は解決しました。
私の場合、問題の原因はVirtuous Ten Studioで、External/ADB
ディレクトリにadb.exeがあります。
そこに行き、.\adb.exe kill-server
を実行してください。
開発マシンの1つ(すべてWindows 7 x64を実行)でこの問題が発生しましたが、他のすべてのマシンのadbは正常に動作します。この問題に遭遇した理由は、古いバージョンのadb.exeが%Android-sdk%\ toolsにあり、新しいAndroid SDKがあるためです。 %Android-sdk%\ platform-toolsの下にadb.exeがある
%Android-sdk%\ toolsから古いadb.exeを削除し、%Android-sdk%\ platform-toolsを%PATH%に追加すると、この問題が解決します
より一般的には、古いパスのadb実行可能ファイルを探し出し、Android SDKで提供される最新のものを使用します。
私の場合、これはAndroid Studioと同じマシンでAndroid Xamarinプロジェクトを使用してVisual Studioを実行することで発生しました-各IDEには異なるadbサーバーバージョンが実行されていました。 Visual Studioを閉じると、エラーはなくなりました。
残念ながら、私はまだコメントするのに十分な評判がありません。しかし、答えとしてマークされた応答は、正しい方向に私を送りました。
HTC Sync Managerに関連するパスはインストールされていましたが、表示されませんでした。現在、HTCデバイスを使用していないため、ドライバーの問題を解決するために同期マネージャーのみをインストールしました。 HTC同期マネージャーをアンインストールすると、この問題はなくなりました。
これが他の人の助けになることを願っています。
SDKバージョン8を使用してみましたか。デバイスは2.2で、SDKは10であるため、競合が発生する可能性があります。
ウルダウングレードの努力と幸運!!これが解決することを願っています。
SOのすべての答えを調べたところ、うまくいきませんでした。タスクマネージャーからadb.exeプロセスを強制終了すると、プロセスが再度開かれ、その理由はDroid Explorerがバックグラウンドで動作していたでした。
タスクマネージャを介してDEプロセスを強制終了してからadb.exeを強制終了します(「adb start-server」を介してコンソールから再度実行します
これは、多くのデバイスをルート化した人にとって便利です。
やり取りしようとしているデバイスがUSB経由で接続された物理的な電話である場合は、そのデバイスを取り外して再度接続すれば動作します。たまに同期がとれなくなることがあります。
過去1週間ほどで次のエラーが2回発生しました。
adb server version (40) doesn't match this client (41)
毎回PCを再起動して修正しました。説明方法がわかりません。
コマンドラインを使用してadbを強制終了して複数回起動し、Android Studioを複数回再起動してみました。タスクマネージャーはadb.exeを表示しません。
Windows 10でAndroid Studio 3.4を実行しています(V1809、ビルド:17763.503)
編集(2019-05-30):これが3回目に起こったとき、すべてのアプリケーションを閉じ、Android Studioを再起動し、問題は解決しました。別のアプリケーションがこれを引き起こしているようです。犯人を見つけたら報告します。
編集(2019-05-30):私はついに犯人を見つけました-iOSアプリのビルドとデバッグのためにVisual StudioとMacbook Proを組み合わせました。 VSが閉じられるか、ペアリングが無効になると、adbは正常になります。
今日もこの問題が発生しました。WIFI/ LANの問題があるため、ネットワークドライバーを無効にしました。再有効化により問題が修正されました
上記のように、問題は、HTC Syncに同梱されているadb.exeの競合バージョンが原因で発生します。 PATHから削除しても、バックグラウンドで常に実行されるhtcUPCTLoader.exeが間違ったバージョンのADBを再起動するため、役に立ちません。
1つの解決策は、HTC Syncフォルダーからadb.exeを完全に削除することですが、これによりHTC Syncが破損します。
私はコーディングしました シンプルなツール 古いadb.exeを最新のものadb.exe競合を排除します(たとえば、HTC Syncに付属するバージョン1.0.25とAndroid SDKに付属する1.0.29)。
ツールは http://visualgdb.com/adbfix からダウンロードできます。
sDKの更新(プラットフォームツールを含む)のインストールが修正されました!
複数のadbを実行している場合は、フラッター開発にvsコードを使用している場合と同じように、vsコードを閉じると役立ちます。
実際に何が起こるかを説明するには:
ADB実行可能ファイルには2つのコンポーネントがあります
ADBを初めて起動すると、「starting ADB server」のようなメッセージが表示される場合があります。その後ADBを更新した場合、新しい実行可能ファイルは古いサーバーを強制終了し、一致するバージョンで新しいサーバーを起動する必要があります。
これは、開発マシンに複数のバージョンのADB(Genymotion、Android SDK、電話OEMコンパニオンアプリ、さまざまなスタンドアロンスクリプト)が存在する場合にも発生する可能性があります。
これは、携帯電話/エミュレータにインストールされているADBには関係ありません。
明らかな(必ずしも簡単ではない)解決策は、どこでも同じバージョンのADBを使用するようにすることです。
からの質問Iamは、この質問に対して[duplicate]とマークされましたが、ここで必要な答えを見ていません。
adbサーバーのバージョン(41)はこのクライアント(36)と一致しません。 killing ... ADBサーバーはACKしませんでした。
これを見てください: https://stackoverflow.com/a/47797366/8187578
最初にそれを行う簡単な方法を得た
Sudo rm /usr/bin/adb
それから
Sudo ln -s /home/{{username}}/Android/Sdk/platform-tools/adb /usr/bin/adb
問題を修正する最速の方法
adbサーバーは古くなっています。killing はこれにだまされているため、 Debianベースのシステムのソリューション のコピー&ペースト:
SDKに加えて
adb
パッケージをインストールした可能性があります。その場合、Sudo apt purge adb
問題を解決するかもしれません。