Разработка Android: DDMS из командной строки, не видя устройства
Вопрос
===============================
* Решено *: см. Ответ ниже
Я не хочу использовать Eclipse.
Из командной строки:
Эмулятор работает. Сервер ADB работает. «Устройства ADB» перечислены правильно, и я вижу мой экземпляр на AVD на выходе.
Однако, когда я вручную запускаю DDMS из командной строки, она просто пытается подключиться. Я не могу найти никаких проблем конфигурации соединений.
Любые предложения (кроме «Использовать Eclipse») Всегда приветствуются!
(Да, это работает из Eclipse и DDMS показывает потоки и т. Д.)
Система: Debian Squeeze
Обновление: я RAN Update-Java-альтернативы, чтобы убедиться, что Java был правильно настроен для среды выполнения «Java (TM) SE (Build 1.6.0_20-B02)». Не слишком много сюрприза для приправленных пользователей Debian My 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
Решение
Раствор, у Debian, чтобы заставить Java использовать IPv4.
/etc/sysctl.d/bindv6only.conf.
net.ipv6.bindv6only = 0
А потом от bash
sudo invoke-rc.d procps restart
Также см. Отчет об ошибках Debian Больше подробностей.
Другие советы
Добавление этой линии где-то в Eclipse.ini помог мне:
-Djava.net.preferIPv4Stack=true
Имя Директива говорит само по себе.
У меня тоже была эта проблема. Я всегда обнаружил, что если вы закроете Eclipse сначала перед подключением устройства, запустив эмулятор или запуск DDMS, все работает просто отлично.
Я думаю, что Eclipse SDK борится соединение и предотвращает доступ к DDMS доступа к устройству или эмулятору.
IPv4 не работал для меня, но подключил устройство на другом USB-порту, решил эту проблему (через Android-устройство не отображается в DDMS)