【问题标题】:Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of 'adb version'无法创建调试桥:无法启动 adb 服务器:无法获得“adb 版本”的结果
【发布时间】:2016-09-18 21:12:09
【问题描述】:

我在 Windows 10 64 位上运行 Android Studio。我在 5 月 20 日早上升级到最新的 build 和 SDK,从那以后打开 Android Studio 时出现上述错误。我还在事件日志中收到“无法获取 'adb 版本'的结果”。如果我启动应用程序(在更新之前运行良好),则会出现“选择部署目标”窗口,并显示“正在初始化 ADB”和加载图形几秒钟,然后会出现“无显示”消息。以前我设置了 4 个不同的模拟器,并且有一个通过 USB 连接的有源设备。现在……什么都没有。

创建一个新的模拟器没有任何效果 - 我完成了这些步骤,但仍然看到“Nothing to show”消息。

我尝试了以下方法:

  • 恢复到旧平台工具
  • 删除并重新安装最新的平台工具
  • 完全删除并重新安装 Android Studio
  • 安装了 Genymotion 以尝试通过它进行仿真(我可以在 Genymotion 中创建并启动仿真器,它与 AS 中的上述问题没有什么不同)
  • 通过任务管理器杀死adb.exe,然后通过终端运行adb tcpip 5555,输出为:

    • 守护程序未运行。现在在端口 5037 上启动它 *
    • 守护进程启动成功* TCP模式重启端口:5555

这是令人鼓舞的,但上述相同的问题仍然存在(即使在重新启动 AS 之后)。

在终端通过adb切换到USB模式再回到TCPIP,不走运。

  • 将整个项目迁移到 Eclipse,直到我遇到了 Google Play 服务的支持问题(所以我将不得不坚持使用 AS,但我在这里变得绝望)

任何可以提供帮助的人 - 我将不胜感激。

更新 - 5/23

我搜索了 adb.log,发现它位于与包含 AS 或我的项目文件的驱动器完全不同的驱动器上的临时文件夹中。关闭一切,通过任务管理器杀死 adb.exe 并删除该文件。重新启动 AS 后,我收到以下消息:

screenshot of message

我可以通过终端启动/杀死 ADB。 adb devices 导致一个空列表。从我的麻烦开始之日起,我的idea.log 文件中就充满了条目。再次重新启动 AS 导致通常的“无法创建调试桥:无法启动 adb 服务器:无法获取 'adb 版本'的结果”消息。

这是我的idea.log 文件中的最后一项:

2016-05-23 10:13:19,081 [824808] 信息 - tools.idea.ddms.adb.AdbService - 使用以下方式初始化 adb:E:\Users\JakeSabre\AppData\Local\Android\sdk\platform-tools \adb.exe,客户端支持 = 假 2016-05-23 10:13:24,082 [829809] 警告 - #com.android.ddmlib - 无法获得“adb 版本”的结果 2016-05-23 10:13:24,083 [829810] 信息 - ditor.DeployTargetPickerDialog - 无法获得调试桥 java.lang.RuntimeException: Unable to create Debug Bridge: Unable to start adb server: Unable to get result of 'adb version'

at com.android.tools.idea.ddms.adb.AdbService$1.run(AdbService.java:236)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:366)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:55)

真正奇怪的是,我昨天确实设法让某些东西工作了——但我不知道怎么做。我启动了 AS 并收到了同样的错误,但随后启动了 Eclipse(Mars 2)并通过 Eclipse 启动了 Android 设备管理器。一旦我这样做了,我就可以通过 AS 模拟器启动我的应用程序!我将其全部关闭并再次尝试,以确保它再次起作用。

今天早上我尝试了同样的技巧,但被告知我的 SDK 丢失了。我检查并确实缺少平台工具(不知道为什么)。所以我再次安装它,得到了通常的错误,现在我的 Eclipse 技巧不再起作用。我觉得我在这里的暮光之城。

【问题讨论】:

    标签: android-studio android-emulator adb avd


    【解决方案1】:

    在任务管理器中,删除 adb.exe

    在终端中,运行命令adb start-server

    【讨论】:

      【解决方案2】:

      解决方案非常简单。以“管理员”身份打开“命令提示符”,运行 adb kill-server,然后运行 ​​adb start-server。它对我有用。

      【讨论】:

      • 根据 OP:“我可以通过终端启动/终止 ADB。adb devices 导致列表为空。”
      • 幸运的是,我可以adb start-server(kill 不起作用;服务器没有运行),当我重新启动 AS 2.3.3 时,我的连接设备在 Android Monitor 中显示一切正常。跨度>
      【解决方案3】:

      只需从 SDK 管理器更新您的平台工具并重新启动您的编辑器

      【讨论】:

        【解决方案4】:

        我通过以下链接得到了这个修复: https://stackoverflow.com/a/38447003/5521389

        进入 GenyMotion 设置 -> ADB 选项卡, 我没有使用 Genymotion Android 工具(默认),而是选择了使用自定义 Android SDK 工具,然后浏览到我安装的 SDK。

        【讨论】:

          【解决方案5】:

          天哪,我不可能是 TrendMicro 杀毒软件! ...非常感谢!

          这也适用于我的 64 位 Win 10,我花了一天时间重新安装 AS 和 ADK 并试图找出原因... adb kill-server,然后尝试禁用/启用防病毒软件,你会看到不同.

          为了更细粒度的控制,将AS的bin\studio64.exe添加到Trendmicro Antivirus的异常列表中就可以正常调出adb了。

          【讨论】:

          • 很高兴它对你有用 - 这是我处理过的最令人沮丧的问题之一。
          【解决方案6】:

          我可能应该将此作为我最初故障排除的一部分,但我最终禁用了 Windows 防火墙和我的防病毒软件 (Trend Micro)。防火墙什么也没做,但禁用趋势科技完全解决了这个问题....

          不知何故,出于某种原因,趋势科技决定开始不喜欢 ADB 创建的守护程序。为这样一件小事而流泪和沮丧的 4 天。希望有一天这可以帮助其他人避免它。

          【讨论】:

            【解决方案7】:

            根据您提供的信息,我不确定我要输入的内容是否适用于您的情况。但由于没有其他人回答,您可能需要考虑一下。

            我遇到了一个非常奇怪的情况,即使我已经定义了多种模拟类型的 Android 设备,并且还有一个物理 Android 设备,我仍然不断收到“Nothing to show”消息。

            我尝试了各种方法来解决问题,但没有成功。然后,我最终找到了一个 adb.log 文件,该文件是在 Android 工具管理的任何常用目录树外部 中创建的;通常用于临时存储的目录。文件的访问权限以某种方式被更改,因此其中一个参与调试的程序无法再访问该文件,因此无法正常启动。删除文件解决了这个问题。下次我尝试开始调试时,一切正常。

            虽然我使用的是 Linux,但如果 Android 工具以与 Microsoft Windows 类似的方式工作,则该文件可能位于由环境变量标识的目录树中,TMP温度

            【讨论】:

            • 感谢您的努力。请参阅原始问题中的更新。
            猜你喜欢
            • 2020-03-06
            • 1970-01-01
            • 1970-01-01
            • 2016-03-18
            • 2018-08-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多