Android Studio – 棒棒糖,ADB和Genymotion问题:设备不会显示。 “adb服务器已过期。 杀……”
更新(11/10/14):Genymotion已经发布了2.3.1修复了这个问题。 https://cloud.genymotion.com/page/changelog/#231
更新(10/21/14):Genymotion回复我的支持电子邮件,并指出下面的@ plackemacher推荐的解决scheme是目前build议的修复程序。 他们知道这个问题。
由于升级到棒棒糖,使用Genymotion模拟器时,我有问题。 设备不会在Android Studio中显示,而且在尝试运行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。
greg 72550 0.0 0.0 611164 1508 ?? 下午4:14
0:00.02 /Applications/Genymotion.app/Contents/MacOS/player.app/Contents/MacOS/tools/adb -s 192.168.56.102:5555 shellgreg 72523 0.0 0.0 635956 2296 ?? S 4:14 PM 0:00.02 adb -P 5037分叉服务器服务器
尝试运行这个:
killall -9 adb
这应该删除所有守护进程的运行轨迹
编辑:下面的最佳解决scheme
这个问题可能与最新版本的平台SDK不兼容。 Genymotion解决此问题的最佳解决scheme是将Genymotion中的Android SDK设置为您的位置。 这可以在设置页面中find。
在我的情况下,问题是我已经安装了adb工具和fastboot使用这个命令
sudo apt-get install android-tools-adb android-tools-fastboot
在存储库中,所以在这种情况下,这个可执行文件会进入/usr/bin/
目录,以便您可以在系统范围内使用它( $PATH
variables)。
另外,我在上面的答案中configuration了genymotion的android studio。
所以当我试图访问adb(在我的情况下adb shell
)它试图启动adb进程(服务器)的另一个副本,并绑定到默认端口,所以问题在这里。
我刚才卸载了android-tools-adb android-tools-fastboot
,并将我的Android SDK
的path添加到$PATH
variables
在Ubuntu上使用genymotion。
我的解决scheme是实际使用二进制代替PATH'd adb。
~/genymotion/tools/abd reboot
另外我在genymotion中有自定义的SDK。
最后什么对我有用,我认为是免费的是你只需从platform-tools
文件夹直接运行adb命令。 例如,使用./adb devices
查看设备。 我也将genymotion的SDK更改为android的默认SDK,但我不确定如果没有这样做,它是行不通的。
我想,如果你想使用adb它更好地使用android studio模拟器和testing你想要什么,你可以使用Genymotion
没有任何解决scheme帮助Ubuntu。 只需将.apk文件拖到Genymotion设备的屏幕上,应用程序将被安装。
Ubuntu 15.04,Genymotion 2.5.2
将Android SDK添加到$PATH
variables。
我只是使用./adb重启Android / Sdk / platform-tools /
接受的答案对我来说不起作用,尽pipe这个想法只是用一个不同的命令:
pkill adb
我正在运行Ubuntu的MATE 1.8.2和Genymotion 2.6。