Home Articles

Android Studio - Lollipop,ADB和Genymotion问题:设备不会出现 . “adb服务器已过期 . 杀害......“[重复]

Asked
Viewed 1152 times
116

这个问题在这里已有答案:


Update (11/10/14): Genymotion has released 2.3.1 which fixes this issue. https://cloud.genymotion.com/page/changelog/#231


更新(2014年10月21日):Genymotion回复了我的支持电子邮件,并指出@plackemacher推荐的解决方案是目前建议的解决方案 . 他们意识到了这个问题 .


自从升级到Lollipop后,我在Android Studio中显示,并且在尝试运行_1848826时我也遇到以下错误:

$ adb devices

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

我不确定是不是因为Lollipop升级或巧合 .

Edit/update

根据Chris Satton的评论,我调查了多个adb进程是否正在运行( ps aux | grep adb ),看起来这是一个Genymotion冲突(?) . 它看起来包含自己的adb版本 .

greg 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 greg 72523 0.0 0.0 635956 2296 ?? S 4:14 PM 0:00.02 adb -P 5037 fork-server服务器

9 Answers

  • 241

    接受的答案对我来说不起作用,虽然这个想法确实如此,只是用不同的命令:

    pkill adb
    

    我正在运行ubuntu MATE 1.8.2和Genymotion 2.6 .

  • 2

    在我的情况下,问题是我已经使用此命令安装了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 变量

  • 2

    在ubuntu上使用genymotion .

    我的解决方案是实际使用二进制而不是PATH'db .

    ~/genymotion/tools/abd reboot

    另外我在genymotion中有自定义SDK .

  • 0

    没有任何解决方案对Ubuntu有帮助 . 只需将.apk文件拖到Genymotion设备的屏幕上即可安装应用程序 .

    Ubuntu 15.04,Genymotion 2.5.2

  • 0

    我刚在Android / Sdk / platform-tools /上使用./adb reboot

  • -2

    试试这个:

    killall -9 adb
    

    这应该删除守护进程的所有运行痕迹

    Edit: Best solution below

    此问题可能与最新版本的平台SDK不兼容 . Genymotion针对此问题的最佳解决方案是将Genymotion中的Android SDK设置为您的位置 . 这可以在“设置”页面中找到 .

    Genymotion Settings window

  • -2

    最终对我有用的以及我认为无任何问题的是你只需直接从 platform-tools 文件夹运行adb命令 . 例如,使用 ./adb devices 查看设备 . 我也更改了genymotion 's SDK to android'的默认SDK,但我没有这样做 .

  • -2

    我想,如果你想使用 adb 它更好地使用android工作室模拟器并测试你想要的东西,你可以使用Genymotion

  • -2

    将Android SDK添加到 $PATH 变量 .

Related