【问题标题】:Android Studio debugger console displays "Failed to connect port"Android Studio 调试器控制台显示“连接端口失败”
【发布时间】:2020-01-14 00:41:57
【问题描述】:

我在使用 Android Studio 时遇到问题。
调试器控制台显示“连接失败”并且调试未开始。
此问题发生在任何 Android 设备(包括虚拟设备)中。
请给我一些想法来解决这个问题。


我试过了

  • 使 Cashes 无效并重新启动 Android Studio
  • 卸载 Android Studio 并重新安装
  • 清理项目
  • 重建项目
  • 刷新链接的 C++ 项目
  • 重新安装 LLDB、Android SDK Platform-Tools 和 Android SDK Tools


我的环境

  • Android Studio 3.5
  • 所有 SDK 工具都是最新版本
  • 操作系统:Windows10


在调试器控制台中:

09/12 15:38:17: Launching 'Unnamed' on Pixel XL API 28.
$ adb shell am start -n "com.yourcompany.prototype3/com.yourcompany.Prototype3" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.yourcompany.prototype3 | com.yourcompany.prototype3.test
Waiting for application to come online: com.yourcompany.prototype3 | com.yourcompany.prototype3.test
Connecting to com.yourcompany.prototype3
Now Launching Native Debug Session
$ adb shell cat /data/local/tmp/lldb-server | run-as com.yourcompany.prototype3 sh -c 'cat > /data/data/com.yourcompany.prototype3/lldb/bin/lldb-server && chmod 700 /data/data/com.yourcompany.prototype3/lldb/bin/lldb-server'
$ adb shell cat /data/local/tmp/start_lldb_server.sh | run-as com.yourcompany.prototype3 sh -c 'cat > /data/data/com.yourcompany.prototype3/lldb/bin/start_lldb_server.sh && chmod 700 /data/data/com.yourcompany.prototype3/lldb/bin/start_lldb_server.sh'
Starting LLDB server: /data/data/com.yourcompany.prototype3/lldb/bin/start_lldb_server.sh /data/data/com.yourcompany.prototype3/lldb unix-abstract /com.yourcompany.prototype3-0 platform-1568270301152.sock "lldb process:gdb-remote packets"
Failed to connect port

Process finished with exit code 0


在 Logcat 中:

2019-09-12 16:11:30.672 6551-6551/? I/pany.prototype: Not late-enabling -Xcheck:jni (already on)
2019-09-12 16:11:30.700 6551-6551/? W/pany.prototype: Unexpected CPU variant for X86 using defaults: x86
2019-09-12 16:11:30.905 6551-6551/com.yourcompany.prototype3 W/ActivityThread: Application com.yourcompany.prototype3 is waiting for the debugger on port 8100...
2019-09-12 16:11:30.907 6551-6551/com.yourcompany.prototype3 I/System.out: Sending WAIT chunk

【问题讨论】:

标签: c++ android-studio adb lldb android-studio-3.5


【解决方案1】:

这是由损坏的 Android SDK Platform-Tools 29.0.3 引起的

要解决此问题,您应该从(macwinlinux)下载平台工具 29.0.2。提取并替换 Android SDK 中的平台工具。

UPD:此问题已通过平台工具 29.0.4 进行了修复:https://issuetracker.google.com/140369526 现在您可以更新到最新版本,而不是降级。

【讨论】:

  • 猜猜我下次再点击右下角弹出窗口中的更新之前会三思而后行。
  • Android Studio:当你的头撞到砖墙上还不够痛的时候!
  • 感谢您的想法!我还没有尝试过这种方式。但是很多选票告诉我这是有效的。尝试后,我会报告问题是否解决。
  • @BakaScript 很乐意为您提供帮助。 :)
  • 现在,29.0.4 发布了。我试过这个。它工作正常!
【解决方案2】:

我也有同样的错误。无需重建、清理、重新启动或卸载。只需更改运行 --> 编辑配置 --> 调试类型 --> 更改为 Java。即使对于将 Native 构建应用程序更改为 Java。此错误是由于 lldb 服务器的最新更新造成的。

【讨论】:

  • 感谢您的想法。以您的方式,调试器启动但无法调试 C++ 代码。当我设置“Native”或“Dual”时,会发生同样的错误。
  • 更新平台工具后。它现在对我来说工作正常。在自动、Java 或本机模式下。
【解决方案3】:

尝试将调试器类型设置为“仅限 Java”

你可以这样:

运行 -> 编辑配置 -> Android 应用程序 -> 您的应用程序模块 -> 调试器 -> 设置“仅限 Java”

【讨论】:

    【解决方案4】:

    我有同样的错误,但我的项目没有 C++ 代码。我去运行 -> 编辑配置 -> 调试 -> 调试类型并将其设置为“Java”而不是“自动”。也许如果您选择“Native”,它会为您解决问题。

    【讨论】:

    • 感谢您的想法。我的项目有 C++ 代码。当我设置“Native”或“Dual”时,会发生同样的错误。在“Java”的情况下,C++ 调试不可用。
    【解决方案5】:

    我在手机上以调试模式运行 Android Studio 2020.3.1 时遇到了这个问题。 经过大量的测试和研究,我意识到 Android Studio 2020.3.1 存在错误,最后我安装了 Android Studio 4.1.3,我的问题得到了解决。

    所以如果你尝试了所有方法:

    • 使 Cashes 无效并重新启动 Android Studio
    • 清理项目
    • 重建项目
    • 杀死并重新启动 ADB
    • ...

    那么是时候更改您的 Android Studio 版本了。

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2017-09-10
      • 1970-01-01
      • 2021-06-02
      相关资源
      最近更新 更多