【问题标题】:Android Studio - Lollipop, ADB, & Genymotion issues: Devices won't show up. "adb server is out of date. killing..." [duplicate]Android Studio - Lollipop、ADB 和 Genymotion 问题:设备不会显示。 “adb 服务器已过时。正在杀死......” [重复]
【发布时间】:2014-12-13 10:44:25
【问题描述】:

更新(2014 年 11 月 10 日):Genymotion 发布了 2.3.1,修复了这个问题。 https://cloud.genymotion.com/page/changelog/#231


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


自从升级到 Lollipop 后,我在使用 Genymotion 模拟器时遇到了 adb 问题。设备不显示在 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 版本。

格雷格 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 外壳

格雷格 72523 0.0 0.0 635956 2296 ?? S 4:14PM 0:00.02 adb -P 5037 fork-server 服务器

【问题讨论】:

    标签: android adb genymotion android-5.0-lollipop


    【解决方案1】:

    尝试运行这个:

    killall -9 adb
    

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

    编辑:下面的最佳解决方案

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

    【讨论】:

    • 还要确保开发机器上没有多个 ADB 副本。
    • 看起来这可能是 genymotion 的问题。我将用更多细节更新我的问题
    • Genymotion 必须打包旧版本的 adb。谢谢!
    • 或者使用默认的 Genymotion adb 设置 Android sdk 路径。
    • @ChrisStratton 如何确保只有一份 ADB 副本?当我通过任务管理器看到正在运行的进程时,我看到每次运行两个 adb.exe 实例。
    【解决方案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 变量中

    【讨论】:

      【解决方案3】:

      在 ubuntu 上使用 genymotion。

      我的解决方案是实际使用二进制文件而不是 PATH 的 adb。

      ~/genymotion/tools/abd reboot

      我在 genymotion 中也有自定义 SDK。

      【讨论】:

        【解决方案4】:

        最终对我有用并且我认为没有麻烦的是您只需直接从 platform-tools 文件夹运行 adb 命令。例如,使用./adb devices 查看设备。 我还将genymotion的SDK更改为android的默认SDK,但我不确定如果不这样做它是否无法工作。

        【讨论】:

          【解决方案5】:

          我认为,如果你想使用 adb 最好使用 android studio 模拟器并测试你想要的,然后你可以使用 Genymotion

          【讨论】:

            【解决方案6】:

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

            Ubuntu 15.04,Genymotion 2.5.2

            【讨论】:

            • 我们正在寻找 adb 的问题,而不是在谈论安装 apk。
            【解决方案7】:

            接受的答案对我不起作用,尽管这个想法确实有效,只是使用了不同的命令:

            pkill adb
            

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

            【讨论】:

            • 投反对票的原因?
            【解决方案8】:

            将 Android SDK 添加到 $PATH 变量中。

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                猜你喜欢
                • 2015-08-25
                • 1970-01-01
                • 1970-01-01
                • 2018-10-05
                • 1970-01-01
                • 2021-02-01
                • 2017-09-04
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多