web-dev-qa-db-ja.com

Android St​​udio-Lollipop、ADB、およびGenymotionの問題:デバイスは表示されません。 「adbサーバーは古くなっています。killing...」


更新(14/10/10):Genymotionはこの問題を修正する2.3.1をリリースしました。 https://cloud.genymotion.com/page/changelog/#231


更新(10/21/14):Genymotionは私のサポートメールに返信し、以下の@plackemacherが推奨する解決策が現時点で推奨される修正であることを示しました。彼らは問題を認識しています。


Lollipopにアップグレードしてから、Genymotionエミュレーターを使用するとadbの問題が発生します。デバイスはAndroid St​​udioに表示されません。また、adb devicesを実行しようとすると、次のエラーが表示されます。

$ adb devices

adb server is out of date.  killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:

それがロリポップのアップグレードによるものなのか偶然によるものなのかはわかりません。

編集/更新

Chris Sattonのコメントごとに、複数のadbプロセスが実行されているかどうかを調査し(ps aux | grep adb)、Genymotionコンフリクト(?)のようです。独自のバージョンのadbを含めるようです。

総計72550 0.0 0.0 611164 1508 ?? S 4:14 PM
0:00.02 /Applications/Genymotion.app/Contents/MacOS/player.app/Contents/MacOS/tools/adb -s 192.168.56.102:5555 Shell

総計72523 0.0 0.0 635956 2296 ?? S 4:14 PM 0:00.02 adb -P 5037 fork-server server

116
loeschg

これを実行してみてください:

killall -9 adb

これにより、実行中のデーモンのトレースがすべて削除されます。

編集:以下の最適なソリューション

この問題は、adbプラットフォームSDKの最新バージョンとの非互換性である可能性があります。 Genymotionでこの問題を解決する最善の方法は、Genymotion内のAndroid SDKを自分の場所に設定することです。これは、[設定]ページにあります。

Genymotion Settings window

241
plackemacher

私の場合、問題はこのコマンドを使用してadbツールとfastbootをインストールしたことでした

Sudo apt-get install Android-tools-adb Android-tools-fastboot

リポジトリから、この場合、この実行可能ファイルは/usr/bin/ディレクトリに移動して、システム全体で使用できるようにします($PATH変数)。

さらに、上記の回答のようにgenymotionを設定してAndroid studioを実行しています。

そのため、adb(私の場合はadb Shell)にアクセスしようとしたときに、adbプロセス(サーバー)の別のコピーを開始してデフォルトポートにバインドしようとしていたため、問題はここにありました。

Android-tools-adb Android-tools-fastbootをアンインストールし、Android SDKへのパスを$PATH変数に追加しました

3
CROSP

Ubuntuでgenymotionを使用します。

私の解決策は、PATHされたadbの代わりに実際にバイナリを使用することでした。

~/genymotion/tools/abd reboot

また、genymotionにカスタムSDKがあります。

2
Dylan Pierce

最終的に私のために働いたと私は手間がかからないと思うことは、platform-toolsフォルダから直接adbコマンドを実行することです。たとえば、./adb devicesを使用してデバイスを表示します。また、genymotionのSDKをAndroidのデフォルトSDKに変更しましたが、それを行わないと動作しないかどうかはわかりません。

0
Akash Agarwal

adbを使用する場合は、Genymotionを使用した後、Androidスタジオエミュレーターを使用して、必要なものをテストすることをお勧めします