テストデバイスにAndroid Oプレビューをインストールした後、私のADBが動作を停止し、私にこのエラーを出し始めました。
adb server version (36) doesn't match this client (39); killing... adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:333] Could not open interface: e00002c5 adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:294] Could not find device interface error: could not install *smartsocket* listener: Address already in use ADB server didn't ACK * failed to start daemon * error: cannot connect to daemon
この問題に関して私が遭遇した唯一の答えは、GenymotionがADBと同期していないことですが、Genymotionは使用していません。任意の助けは大歓迎です。私はすでにAndroid Studioとそのすべてのツールや設定を削除して再インストールしましたが、まだこの問題があるようです。
私の場合、このエラーは私の環境のadbパスを~/.Android-sdk/platform-tools
に設定したときに発生しました(これは例えばAndroid-platform-toolsがhomebrew経由でインストールされたときに起こります)、バージョンは36ですが、Android Studioプロジェクトには次のパスがあります~/Library/Android/sdk
39歳でした。
パスをplatform-toolsから~/Library/Android/sdk/platform-tools
に変更しました。エラーは解決しました
これは私のために働きます...
まず最初に、タイトルから「{Not using Genymotion}」を削除してください。それは私のようなGenymotionが何であるかを知らない読者をそらすものです。ここでのばかげたことは、「GenyMotionの設定に移動する」という21の答えがあることです。
他のすべてが見逃しているという主な点は、バックグラウンドで実行中のadbプロセスがあるときにこのエラーが発生するということです。だから最初のステップはそれを見つけてそれを殺すことです:
ps aux | grep adb
user 46803 0.0 0.0 2442020 816 s023 S+ 5:07AM 0:00.00 grep adb
user 46636 0.0 0.0 651740 3084 ?? S 5:07AM 0:00.02 adb -P 5037 fork-server server
見つけたら、kill -9 46636
を使ってそれを殺すことができます。
私の場合、問題はGapDebugから来た古いバージョンのadbでした。 GapDebugを使ってこれを入手した場合は、それを終了してから実行してください。
adb kill-server
adb start-server
gapDebugをバックグラウンドで使用している場合、adbサーバーを強制終了すると、GapDebugはすぐに独自のコピーを開始し、起動サーバーが無視される
あなたには2つのバージョンのADBがあります$ /usr/local/bin/adb version Android Debug Bridge version 1.0.36 Revision 0e9850346394-Android
$ /Users/user/Library/Android/sdk/platform-tools/adb version Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-Android
PATHがどちらを指しているか(echo $PATH
)はわかりますが、一方のバージョンではadb stop-server
、もう一方のバージョンではadb start-server
で修正しました。
さらにもう1つの可能性のある解決策を追加するために、ClockworkmodによるHeliumはそれ自身のADBバージョンが組み込まれていることを開始し続けました。 Helium Desktopアプリケーションを終了すると問題は解決します。
私はAndroid Studioでも同じ問題を抱えていました - adbサーバーのバージョン(37)がこのクライアント(39)と一致しません。私は次の解決策で直しました:
Android Studioで、[ツール] - > [Android] - > [SDK Manager]に移動します。
[SDKツール]タブで[Android SDKプラットフォーム - ツール]のチェックを外し、[適用]をクリックしてアンインストールします。
その後、Platform-Toolsフォルダーの名前をPlatform-ToolsOldに変更しました。
その後、SDKマネージャに戻り、Platform-Toolsに再度チェックマークを付けて再インストールします。
私は同じエラーがありました。私の場合、Appiumを使用して、2つのバージョンのADBがありました
$ /usr/local/bin/adb
バージョン36
そして
$ /Users/user/Library/Android/sdk/platform-tools/adb
バージョン39
解決策は次のとおりです。
bash_profile内の$ PATHが以下を指していることを確認してください。/Users/user/Library/Android/sdk/platform-tools/
adbサーバー:adb kill-server
を停止し、Appiumが停止していることを確認します。
adbのバージョン36を削除します(またはバックアップのために名前を変更することもできます):rm /usr/local/bin/adb
adbサーバーを起動します。adb start-server
またはAppiumを起動します。
他の人が言ったように、あなたは2つのadbを走らせることができるでしょう。
あなたのディストリビューションのAndroidツールをアンインストールしてください(zypperやyumなどを使ってください)
# zypper -v rm Android-tools
あなたの他のadbがどこにあるか見つけなさい
# find /home -iname "*adb"|grep -i Android
それがあったと言う。
/ home/developer/Android/Sdk /プラットフォームツール/ adb
それから/ usr/binフォルダーにそれへのソフトリンクを作ります。
ln -s /home/developer/Android/Sdk/platform-tools/adb /usr/bin/adb
それでは。
# adb start-server
私はあなたが実行している複数のadbサーバーを持っていると思う、genymotionはそれらのうちの1つであるかもしれませんが、Xamarin - Mac OS用のVisual Studioはadbサーバーを実行しています。