Разработка Android: ddms из командной строки не видит устройства - PullRequest
3 голосов
/ 11 августа 2010

=============================== *======

* решено *: см. Ответ ниже

Я не хочу использовать Eclipse.

Из командной строки:

Запущен эмулятор.Сервер ADB работает.«adb devices» перечисляет правильно, и я вижу мой экземпляр на avd в выводе.

Однако, когда я вручную запускаю DDMS из командной строки, он просто продолжает пытаться подключиться.Я не могу найти никаких проблем с настройкой соединения.

Любые предложения (кроме "use Eclipse") приветствуются!

(да, это работает из eclipse, и ddms показывает потоки и т.д.)

Система: Debian Squeeze

Обновление: я запустил update-java-alternatives, чтобы убедиться, что java был правильно настроен для "Java (TM) SE Runtime Environment (build 1.6.0_20-b02)".Не слишком удивительно для опытных пользователей 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

Ответы [ 4 ]

7 голосов
/ 12 августа 2010

В Debian решение состоит в том, чтобы заставить java использовать IPv4.

/ и т.д. / sysctl.d / bindv6only.conf

net.ipv6.bindv6only = 0

А потом из Баш

sudo invoke-rc.d procps restart

Также см. Отчет об ошибке Debian для получения более подробной информации.

6 голосов
/ 04 мая 2011

Добавление этой строки в eclipse.ini мне помогло:

 -Djava.net.preferIPv4Stack=true

Имя директивы говорит само за себя.

0 голосов
/ 14 августа 2011

IPv4 у меня не работал, но подключение устройства к другому USB-порту решило эту проблему (через устройство Android не отображается в DDMS )

0 голосов
/ 11 августа 2010

У меня тоже была эта проблема. Я всегда обнаруживал, что если вы сначала закроете eclipse перед подключением устройства, запуском эмулятора или запуском ddms, все работает просто отлично.

Я думаю, что Eclipse SDK включает соединение и предотвращает доступ ddms к устройству или эмулятору.

...