【问题标题】:Android development : ddms from command line not seeing devicesAndroid开发:命令行中的ddms看不到设备
【发布时间】:2010-08-11 17:18:03
【问题描述】:

=================================

*SOLVED * :见下面的答案

我不想使用 Eclipse。

从命令行:

模拟器正在运行。 adb 服务器正在运行。 “adb devices”列表正确,我可以在输出中的 avd 上看到我的实例。

但是,当我从命令行手动启动 DDMS 时,它只是一直在尝试连接。我找不到任何连接配置问题。

欢迎提出任何建议(“使用 Eclipse”除外)!

(是的,它在 eclipse 中工作,ddms 显示线程等)

系统:Debian Squeeze

更新:我运行了 update-java-alternatives 以确保为 "Java(TM) SE Runtime Environment (build 1.6.0_20-b02)" 正确设置了 java。对于经验丰富的 Debian 用户来说,我的 Java 现在变得更糟了,这并不奇怪……当我从命令行运行 ddms 时,我得到:--

(ddms:9326): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
04:29 E/ddms: Failed to reopen debug port for Selected Client to: 8700
04:29 E/ddms: Invalid argument
java.net.SocketException: Invalid argument
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)
    at com.android.ddmlib.MonitorThread.reopenDebugSelectedPort(MonitorThread.java:716)
    at com.android.ddmlib.MonitorThread.run(MonitorThread.java:226)

04:29 E/DeviceMonitor: Connection attempts: 1
04:30 E/DeviceMonitor: Connection attempts: 2
04:31 E/DeviceMonitor: Connection attempts: 3
04:32 E/DeviceMonitor: Connection attempts: 4
04:33 E/DeviceMonitor: Connection attempts: 5
04:34 E/DeviceMonitor: Connection attempts: 6

【问题讨论】:

  • 当您尝试独立运行 ddms 时,您是否也运行了 eclipse ddms? (如果是这样,请先关闭 eclipse)。 ddms 根本没有连接到您的设备或没有附加到您的应用程序的进程?您在设备列表中看到该设备了吗? (或者您从哪里看到它正在尝试连接?)
  • 你在哪个系统上运行?视窗? linux?...
  • 命令行中的 ddms 看不到任何设备。 Elcipse 没有运行。我还重新启动了 adb 服务器。
  • 您应该提交一个答案,而不是更新您的问题。更好地遵循 SO 范式
  • 请勾选“the answser”而不是更改标题为“solved”。我们不再是 80 年代的论坛了。

标签: android eclipse adb jdb ddms


【解决方案1】:

解决方案是,在 Debian 中,强制 java 使用 IPv4。

/etc/sysctl.d/bindv6only.conf

net.ipv6.bindv6only = 0

然后从 bash

sudo invoke-rc.d procps restart

另请参阅Debian bug report 了解更多详情。

【讨论】:

  • 太好了 - 我在 amd64 挤压 + IcedTea java 上遇到了同样的问题,ddms 无法在 eclipse (indigo 3.7) 中手动启动 连接。现在,它工作正常。顺便说一句,我必须使用 IcedTea,否则 android sdk 会失败 http 请求(“找不到网络”).. 但也许我也应该使用新配置重试..
【解决方案2】:

在 eclipse.ini 中的某处添加这一行对我有帮助:

 -Djava.net.preferIPv4Stack=true

指令名称不言自明。

【讨论】:

    【解决方案3】:

    我也遇到过这个问题。我一直发现,如果在连接设备、运行模拟器或启动 ddms 之前先关闭 eclipse,一切正常。

    我认为 Eclipse SDK 占用了连接并阻止 ddms 访问设备或模拟器。

    【讨论】:

      【解决方案4】:

      IPv4 对我不起作用,但将设备插入不同的 USB 端口解决了这个问题(通过Android device not showing up in DDMS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-23
        • 1970-01-01
        • 1970-01-01
        • 2011-09-13
        • 2012-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多