【问题标题】:DDMS - Can't bind to local 8600 for debugger on Android StudioDDMS - 无法为 Android Studio 上的调试器绑定到本地 8600
【发布时间】:2015-12-07 01:47:11
【问题描述】:

我正在尝试使用 Android 设备监视器查看我的数据库表,但由于我不确定的原因,它向我显示了错误。而且我没有运行另一个 DDMS 实例。

它没有显示我的 DDMS,而是显示了这个错误

[2015-09-10 17:39:53 - ddms] Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or of the eclipse plugin running. If it's being used by something else, choose a new port number in the preferences.
[2015-09-10 17:39:53 - ddms] Can't bind to local 8600 for debugger
[2015-09-10 17:39:53 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
    at sun.nio.ch.IOUtil.write(IOUtil.java:65)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
    at com.android.ddmlib.Client.sendAndConsume(Client.java:677)
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349)
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:523)
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:847)
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:815)
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:775)
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:664)
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:46)
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:592)

拜托,有谁知道解决这个问题???

【问题讨论】:

    标签: android android-studio ddms


    【解决方案1】:

    对我有用的是重新启动计算机。我认为这是在强制退出 Android Studio 之后发生的。

    【讨论】:

      【解决方案2】:

      在 Mac 上,打开终端并输入:

          sudo nano /etc/hosts
      

      将以下行添加到您的主机文件中

      127.0.0.1        localhost
      

      保存并退出。

      在 Android Studio 中,您可以再次开始调试。我遇到了同样的问题,最后我做了上面,问题解决了。

      希望这会有所帮助:)。

      【讨论】:

      • 我不知道为什么这有效,但它确实对我有用。在我尝试这个之前,我尝试了几次接受的答案。
      • 你刚刚回答了我奋斗的日子
      • @SAIR 很高兴知道它有帮助:D.
      • 这一直困扰着我多年,这个解决方案是唯一有效的方法。非常感谢。
      • @Dan 很高兴知道 soln 帮助了处于相同情况的人。干杯
      【解决方案3】:

      对于 osx 用户

      是的,您需要重新启动 adb。只需重新启动 android studio 就可以了。如果还是不行,就用这个强行杀死8600端口的线程

      [sudo] lsof -i :8600
      

      那么对于PID

      kill -9 <PID>
      

      【讨论】:

      • 无人监听,也可以运行 python3 -m http.server 8600。但是Android studio会报这个错误!有什么想法吗?
      【解决方案4】:

      如果将您的 web 应用程序转换为 android 应用程序。

      如果你这样提供你的网址: localhost:xxxx/abc/xx 然后它会产生问题,因为您的本地主机的端口和模拟器的端口不同。您正在使用模拟器,它就像您计算机中的单独设备一样工作

      所以朋友们使用 IP 地址而不是本地主机,它会工作的......我相信 101% 工作

      【讨论】:

        【解决方案5】:

        一个类似的问题帮助我在这里解决了这个问题:

        Android Studio and android device monitor

        通过在 Android Studio 中打开 DDMS,我能够绑定和监控我的 android 设备,而不会再出现损坏的管道或端口冲突。

        只需按照以下步骤从 android studio 中打开 DDMS: 选择工具 > Android > Android 设备监视器

        我只能假设 AS 静默运行 DDMS 实例,因为当 AS 关闭时,手动打开 DDMS 没有问题。只有在 AS 运行时,我才能从 CLI 运行 DDMS 时得到此信息

        【讨论】:

          【解决方案6】:

          尝试从terminal 中杀死adb serverrestarting the adb server

          adb kill-server
          adb start-server
          

          同样在您的移动设备上,切换 USB 调试。 当我遇到这个问题时,这两种组合都对我有用。

          您还可以考虑使用Stetho by Facebook,您可以查看您的数据库以及使用Stetho 运行查询。 Stetho 还可以让您查看网络调用、查看视图层次结构等。

          【讨论】:

          • 谢谢,Stetho 还让我找到了另一个工具 SQLite Browser sqlitebrowser.org,我现在也通过阅读这个答案得到了它,stackoverflow.com/questions/17529766/…。欢呼
          • “切换 USB 调试”解决了我的问题。所以去你的安卓设备上的开发者选项,然后关闭,然后在usb调试上。
          • 谢谢,杀死 adb 修复了它。对我来说,这是因为同时打开了 Android Studio 和 Eclipse,所以我可以调试两个不同的应用程序。为了安全起见,我还关闭了 AS 并重新启动了 Eclipse。
          • 我尝试了上述步骤,但它对我不起作用.... cd /Users/varunagiri/Library/Android/sdk/platform-tools adb kill-server -bash: adb: command not found
          猜你喜欢
          • 1970-01-01
          • 2019-09-17
          • 1970-01-01
          • 2017-04-10
          • 2016-04-12
          • 1970-01-01
          • 1970-01-01
          • 2012-11-05
          相关资源
          最近更新 更多