Почему программа Eclipse Android Device Chooser не отображает мое устройство Android?


87

Я использую подключаемый модуль Android для Eclipse, и когда я пытаюсь запустить свою программу на реальном устройстве через Android Device Chooser , мой телефон не отображается как устройство. Я обновил Eclipse, все пакеты Android и драйвер USB, но он все еще не отображается. Мой телефон работает под управлением Android 2.1, которая также является целевой версией, указанной в проекте Eclipse.

Также бывает, что устройство отображается как неизвестная цель, а серийный номер - как вопросительные знаки, как показано на снимке экрана.

Выбор устройства Android


2
Я на макинтоше, у меня такая же проблема.
Евгений Симкин

@JJD ваше редактирование предполагает, что проблема с OP возникла в Linux, а не в Windows.
Джо

@ Джо Верно. Мне пришлось взвесить преимущество визуального описания ошибки и проблемы, чтобы представить ее нейтральной для платформы. Я решил, что первое помогает больше, чем второе мешает. Экран похож на обеих ОС.
JJD

Ответы:


88

У меня была такая же проблема с Motorola Droid. У меня было 3 устройства и только 1 был обнаружен в ADB. Тот, который работал, отображался в диспетчере устройств как «составной интерфейс android adb», а 2, которые не работали, отображались как «интерфейс android adb». В Windows 7 я сделал следующее.

  1. Щелкните правой кнопкой мыши Компьютер, затем выберите Управление
  2. Разверните телефон Android вверху списка.
  3. Щелкните правой кнопкой мыши интерфейс Android ADB, затем обновите программное обеспечение драйвера.
  4. Найдите на моем компьютере драйверы
  5. Разрешите мне выбрать из списка драйверов устройств на моем компьютере
  6. Выберите USB Composite Device и затем

Если USB Composite Device не отображается, попробуйте перейти к папке usb_driver в каталоге android sdk для шага 5, затем повторите шаги 5 и 6.

Примечание. Если Android не отображается в верхней части этого списка, как описано в пункте 2, и / или вы обнаружите устройство ADB без драйверов, то вам, вероятно, потребуется установить драйвер устройства, который в моем случае (HTC Glacier) был расположен справа на моем телефоне.


62
ТЫ УЖАСНО УДИВИТЕЛЬНЫЙ! Вы знаете, сколько долгих ночей я провел, размышляя о том, чтобы отрезать себе большой палец из-за этой проблемы? Пусть все ваши дети бегают так же быстро, как кенийцы, и пусть вам будут вечно благословлены!
Джон Сонмез

2
@Sund сначала щелкнет "Диспетчер устройств" на левой панели. Вы также можете запустить это через панель управления. Еще хочу сказать, насколько странной является эта проблема. Интересно, пытался ли я сначала скопировать файлы через USB, если бы он автоматически установил драйвер USB Composite.
Тони Чан

1
Надеюсь, это решение сработает, но я использую ADB в Linux / Ubuntu :-(
Хенди Ираван,

Я получаю сообщение об отсутствии доступных драйверов при выборе папки% ANDROID_SDK% \ extras \ google \ usb_driver или при выборе% ANDROID_SDK% для поиска драйверов.
adam

Кто-нибудь знает, как это сделать с WINDOWS XP? >. <
Габриэль Фэйр

98

Вы пытались из командной строки (предполагается, что Linux)

adb devices

Если у тебя много вопросительных знаков

List of devices attached
??????????????    device

Проверьте, какой у вашего устройства идентификатор производителя:

lsusb 
> Bus 003 Device 006: ID 04e8:689e Samsung Electronics Co., Ltd 

В данном случае идентификатор поставщика - «04e8».

Вам необходимо добавить свое устройство в список USB

sudo vim /etc/udev/rules.d/51-android.rules

и поместите эту строку (используйте свой собственный идентификатор поставщика).

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"

В качестве альтернативы попробуйте следующий синтаксис, как указано Макордаро и Йекмером Симсеком со ссылкой на документацию

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"

сохраните это, а затем

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo service udev reload

и теперь он должен работать.


3
У меня была проблема с "????????" отображается в моем списке устройств. Это исправило это. Благодарность!
loneboat

10
Не знаю почему, но этот ответ мне не помог. У меня установлены HTC Desire, Debian Squeez, Eclipse Galileo и Android 2.2 api. Я сделал все, что Вы здесь написали, но у меня ничего не получилось, если я сделаю это 'adb devices', я получу следующее: marek@deb42:~$ adb devices\ n List of devices attached \ n???????????? no permissions
Marecky

3
Это сработало, но я должен был выполнить sudo adb kill-server до того, как изменение было зарегистрировано.
Khalos

2
Также не забудьте перезапустить eclipse после перезагрузки udev.
MigDus,

13
Привет на ubuntu, ваш ответ сработал для меня, но с небольшим изменением синтаксиса для файла правил сработало. т.е. для HTC сработало это правило SUBSYSTEM == "usb", ATTR {idVendor} == "0bb4", MODE = "0666", GROUP = "plugdev" сказано здесь developer.android.com/tools/device.html # настройка спасибо за помощь
Йекмер Симсек

7

Есть одна вещь, которую некоторые не могли вспомнить. Как и я, если вы пытались запустить adb с учетными данными суперпользователя после запуска с обычными учетными данными, не ожидайте успеха. Во-первых, вам нужно убить adb, который запускался с паршивыми правами, и запустить его снова с помощью sudo:

marek@deb42:~$ sudo adb kill-server

marek@deb42:~$ sudo adb devices


В результате мое устройство будет правильно отображаться в списке устройств adb, но все равно будет отображаться как «?????????» в окне Eclipse Android Device Chooser. Есть ли способ заставить Eclipse ADT-плагин также запускаться от имени пользователя root?
1337ingDisorder

3

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

Прежде всего, ваш манифест должен иметь атрибут android: debuggable = "true" в узле Application. У вас, вероятно, есть это, и я не знаю, действительно ли это способствует появлению устройства или нет.

В любом случае, я делал неправильно, когда я запускаю или отлаживаю свою конфигурацию (в Eclipse) на целевой вкладке (где перечислены настройки вашего эмулятора), у меня был установлен переключатель «Автоматически». Если вы перевернете это в ручной режим, то при нажатии кнопки «Выполнить» появится еще один диалог, и в ЭТОМ диалоговом окне вверху я вижу свое устройство.

Наконец, (и я вижу это только на Droid X), когда вы находитесь в режиме ПК, устройство не работает так, как будто оно подключено к машине. Когда вы находитесь в режиме Mass Storage, все работает, как ожидалось, НО тогда SD-карта отключена, поэтому, если ваше приложение выполнит ЗАПИСЬ на SD-карту, оно завершится ошибкой на этом этапе выполнения. Captivate (другое мое тестовое устройство) не страдает той же проблемой.


3

Убедитесь, что ваше устройство подключено как устройство PTP (камера). Панель уведомлений -> USB-соединение. Если ваше устройство подключено как MTP (как общее хранилище данных), AndroidStudio не распознает его как отлаживаемое устройство. По крайней мере, это работает для меня и моего Nexus.


Похоже, в последних версиях AndroidStudio это было исправлено, и теперь устройство все равно появляется в списке
Простоквашкин

2

У меня была та же проблема, и после того, как я попробовал многие из описанных выше решений, наконец, попытался заменить кабель, и это сработало мгновенно.


2

На Windows Machine просто установите adbdriver . Он автоматически получит конкурентоспособных водителей для подключенных Android Device.

Надеюсь, это поможет всем, кто сталкивается с этой проблемой.


1

Надеюсь, на этот раз это решение улучшит ваше настроение!

Проблема: почему мое устройство Android не распознается Eclipse ADT?

Причина: Драйвер устройства отсутствовал, как казалось в конце, когда я его исправил!

Как исправить:

  1. Выполните поиск в Интернете (с помощью Google) « LG <номер модели вашего телефона> Загрузка драйверов ». (Пример: - Перейдите в раздел «О телефоне» в списке настроек > Номер модели, для меня это LG-E400f).
  2. В основном первые несколько ссылок связаны со страницей загрузки необходимого драйвера устройства. (Пример: - у меня есть следующая ссылка, и для каждого драйвера устройства LG или большинство других поставщиков / производителей имеют такую ​​страницу с руководствами и драйверами. ) Посетите эту страницу, чтобы узнать об обновлениях программного обеспечения и загрузке драйверов.
  3. Прокрутите вниз до раздела « Руководства и обновление программного обеспечения », и мне было достаточно выполнить шаг 1 , а именно «Установить USB-ДРАЙВЕРЫ ».
  4. Загрузите его (для Mac или Windows) > Установите > Проверьте свой Eclipse ADT >, и теперь он должен быть виден на вкладке «Устройства».

Ура !!!
Надеюсь, это поможет кому-то еще найти решение!


0

Если вы используете Eclipse, проверьте, не преобразовал ли Eclipse ваш проект в собственный Java-проект. Сделайте это, щелкнув правой кнопкой мыши имя своего проекта в eclipse и выбрав опцию «Преобразовать в проект Android».


0

Еще вы можете попробовать поискать драйверы USB на сайте производителя. Центр обновления Windows не всегда включает эти драйверы. Мой планшет Acer Iconia a700 не отображался в Eclipse, пока я не загрузил и не установил драйверы с веб-сайта Acer.


0

У меня такая же проблема с телефоном сяоми. Eclipse может обнаруживать все мои другие устройства (включая samsung и huawei).

Пробовал все вышеперечисленное и наконец нашел решение: просто введите « # # 717717 # # » и позвоните, и все будет работать!


0

К сожалению, вышеперечисленные решения не работали на моем устройстве Samsung Ace 2. Но установка Samsung Kies решает проблему.


0

Установите pdaNet ( http://pdanet.co/a/ ) В промежутках между установками, если вы получаете сообщение «Пропустить USB или что-то еще» во всплывающем окне, закройте всплывающее окно, отключите устройство, затем подключите устройство, продолжите установку. Теперь в eclipse должно быть указано ваше устройство :)


0

Иногда adb перестает работать на моем Mac, просто:

adb kill-server
adb start-server

и перезапуск отладки adb на устройстве снова подключит его.


0

В какой-то момент я обновил драйверы Motorola для своего Droid 3, а затем ADB не смог найти устройство. Прочитав этот вопрос и главный ответ, но все еще не сработало, я сначала попытался удалить драйвер. Затем отключив устройство и снова подключив его, Windows нашла и загрузила правильные драйверы. Радость! Надеюсь, это поможет кому-то другому.


0

У меня сработала нелепая вещь, я запустил приложение, а затем, когда открылось окно устройства, я поменял местами, к какому порту подключен шнур к устройству на моем Mac, и бам нашел устройство! Удачи, это может быть сложно


0

Убедитесь, что режим отладки включен, а также разрешает установку из неизвестных мест, если проблема не исчезнет, ​​отключение устройства, перезагрузка и повторное подключение устройства должны работать. Другой распространенной проблемой является отсутствие установленных драйверов USB, чтобы решить эту проблему, перейдите в диспетчер SDK и в дополнительных функциях загрузите / обновите драйверы USB.


0

Устройство не отображалось из-за следующей строки в файле манифеста Android ---

<uses-sdk android:minSdkVersion="18"
        android:targetSdkVersion="18"/>

Я изменил его на ---

<uses-sdk android:minSdkVersion="8"
        android:targetSdkVersion="19"/>

Теперь это сработало.


0

После добавления файла в udevкаталог в соответствии с Йекмером Симсеком /var/log/syslogэто будет отображаться в журнале при повторном подключении устройства:

Jul  3 16:18:10 jupiter kernel: [16866.411654] usb 2-1.2: USB disconnect, device number 7
Jul  3 16:18:15 jupiter kernel: [16871.221603] usb 2-1.2: new high-speed USB device number 8 using ehci-pci
Jul  3 16:18:15 jupiter kernel: [16871.315693] usb 2-1.2: New USB device found, idVendor=18d1, idProduct=d002
Jul  3 16:18:15 jupiter kernel: [16871.315704] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul  3 16:18:15 jupiter kernel: [16871.315710] usb 2-1.2: Product: Nexus 5
Jul  3 16:18:15 jupiter kernel: [16871.315715] usb 2-1.2: Manufacturer: LGE
Jul  3 16:18:15 jupiter kernel: [16871.315719] usb 2-1.2: SerialNumber: 0650f8e00ae573dc
Jul  3 16:18:15 jupiter mtp-probe: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2"
Jul  3 16:18:15 jupiter mtp-probe: bus: 2, device: 8 was not an MTP device
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.