Nexus 7 не виден через USB через "устройства adb" из Windows 7 x64

Я сделал очевидное - драйвер USB был установлен из последней версии Android SDK, и в планшете была включена отладка по USB.

Когда Nexus 7 подключен, устройство отображается в диспетчере устройств Windows как "Android Phone" / "Android Composite ADB Device" со свойствами, показывающими версию драйвера 6.0.0.0, поэтому правильный драйвер установлен и работает.

Это также доказывает, что устройство находится в режиме отладки USB, потому что если это не так, оно отображается в Windows в разделе "Переносные устройства" / "Nexus 7".

Проблема в том, что adb devices не показывает никаких устройств, и Eclipse также (что неудивительно) также не предлагает Nexus 7 в качестве аппаратного устройства для запуска приложения.

Я перезагрузил оба устройства без эффекта.

Единственная отладка, которую я могу выяснить, это включить ADB_TRACE=all, но это ничего не говорит мне:

mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ export ADB_TRACE=all

mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ adb devices
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::adb_query():adb_query: host:devices
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 100
system/core/adb/transport.c::writex():writex: fd=100 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=100 len=12: 686f73743a76657273696f6e host:version
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 100
system/core/adb/adb_client.c::adb_connect():adb_connect: service host:devices
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303034 0004
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303164 001d
system/core/adb/sysdeps_win32.c::adb_close():adb_close: 100(lo-client:5037)
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:devices
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 101
system/core/adb/transport.c::writex():writex: fd=101 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=101 len=12: 686f73743a64657669636573 host:devices
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 101
system/core/adb/adb_client.c::adb_connect():adb_connect: return fd 101
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
30303030 0000
system/core/adb/transport.c::readx():readx: fd=101 wanted=0
system/core/adb/transport.c::readx():readx: fd=101 wanted=0 got=0

system/core/adb/sysdeps_win32.c::adb_close():adb_close: 101(lo-client:5037)
List of devices attached
***NOTHING SHOWN*****

Что я делаю неправильно?

18 ответов

Решение

Когда Nexus 7 подключен, появляется постоянное уведомление, которое указывает "CONNECT AS / Media Device (MTP)". В этом состоянии adb devices не будет показывать Nexus, или, несомненно, любое другое устройство. Не совсем очевидно, но если вы выберете вторую опцию "Камера (PTP)", устройство будет доступно для отладки (урок - игнорирование камеры и фокусировка на протоколе PTP).

Эта конфигурация постоянна, и я предполагаю, что с новым устройством оно будет подключаться как MTP, пока не будет сказано иначе.

Спасибо Ciaran GallagherSettings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

Посмотрите блог Nexus 7 для Android, в котором подробно описаны шаги.

В дополнение к установке USB-соединения / режима хранения "Камера (PTP)" мне также пришлось включить режим разработчика, который был скрыт с 4.2.

  1. Перейдите в меню "Настройки" и прокрутите вниз до "О телефоне / планшете". Нажмите на это.
  2. Снова прокрутите вниз, где вы увидите "Номер сборки".
  3. Нажмите на нее семь (7) раз. После третьего нажатия вы увидите игривое диалоговое окно, в котором говорится, что вы на расстоянии четырех шагов от разработчика. Продолжайте нажимать, и у вас есть настройки разработчика.
  4. Теперь в настройках есть "Параметры разработчика". Нажмите на это.
  5. Нажмите "Отладка по USB", чтобы включить его.

Источник: Как включить настройки разработчика на Android 4.2

Чтобы исправить / установить Android USB-драйвер для Windows 7/8 32-бит /64-бит:

  1. Подключите устройство под управлением Android к USB-порту компьютера.
  2. Щелкните правой кнопкой мыши "Компьютер" на рабочем столе или в проводнике Windows и выберите " Управление".
  3. Выберите Устройства на левой панели.
  4. Найдите и разверните Другое устройство на правой панели.
  5. Щелкните правой кнопкой мыши имя устройства (Nexus 7 / Nexus 5 / Nexus 4) и выберите Обновить драйвер. Это запустит Мастер обновления оборудования.
  6. Выберите Обзор моего компьютера для программного обеспечения драйвера и нажмите Далее.
  7. Нажмите Обзор и найдите папку драйвера USB. (Драйвер USB Google находится в <sdk>\extras\google\usb_driver\.)
  8. Нажмите Далее, чтобы установить драйвер.

Если это все еще не работает, попробуйте перейти с MTP на PTP.

MTP -> PTP PTP>

Я обнаружил, что вы также можете сделать Диспетчер устройств -> Обновить программное обеспечение драйвера -> Найти на моем компьютере программное обеспечение драйвера -> Позвольте мне выбрать из списка драйверов устройства на моем компьютере -> Телефон Android -> [Версия драйвера ADB 6 рядом с верхней частью список... извините, я не могу вспомнить точное имя]

Как только я это сделал, он подключился, и я смог загрузить версию 4.2 на Windows 7 64 бит.

Я использую Nexus 7 (4.2) на Windows 7 x64. Ни один из других методов, описанных здесь, не работал для меня. Вкладка уже была в режиме PTP. Наконец, я смог заставить его работать, добавив приведенную ниже строку в "android_winusb.inf" в \extras\google\usb_driver и выполнил "обновление драйвера":

%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&REV_9999&MI_01

Чтобы получить точный идентификатор оборудования (USB\VID_18D1&PID_4E44&REV_9999&MI_01 в моем случае), вы можете перейти в " Управление компьютером" -> " Диспетчер устройств" -> вкладка " Сведения " -> выбрать "Идентификатор оборудования" из раскрывающегося списка.

У меня была похожая проблема, и я попробовал другие предложения.

Использование драйвера PdaNet в загрузке с http://www.junefabrics.com/android/download.php - вот что, наконец, сделало эту работу и позволило мне наконец подключиться через ADB. До установки драйвера отсюда я не смог распознать мой Nexus, чтобы загрузить новый Android 4.2 на мое устройство.

Я работаю под управлением Windows 7 64 бит с моим Nexus 7.

У меня были похожие проблемы, и я обнаружил, что снятие отметки со всех опций (как MTP, так и PTP) позволило устройству получать отпечатки пальцев RSA с моего компьютера, и после этого "adb devices" сработало.

Имейте в виду, что отпечаток RSA должен быть принят до того, как устройство Android 4.2+ может подключиться через ADB, это очевидно из соображений безопасности.

Попробуй это. Если ваше устройство не обнаруживается, используйте PdaNet, Вы можете скачать его здесь. Загрузите его и установите на свой компьютер. Подключи свой телефон. Он автоматически обнаруживает драйвер из Интернета.

В моем случае у меня было две проблемы:

  1. Мой ПК получил предыдущий драйвер "Samsung Galaxy II" и назначил его на Nexus 7. Мне нужно было удалить его много раз. Наконец-то я смог связать правильный драйвер Nexus 7.

  2. Необходимость установить опцию PTP.

У меня был установлен драйвер HTC One, и я подумал, что по этой причине он не работает. Однако оказалось, что причина была в том, что я отключил оба MTP/PTP.

Я не нашел места для настроек, но потом нашел, как настроить USB на своем Nexus 7.

Меня это довольно смущает, это на вкладке Storage. Либо MTP или PTP работает для меня.

У меня также есть Nexus 7 и Windows 7 64-bit, и я получил работу ADB, спотыкаясь в этой теме и других около месяца назад. Тогда это перестало работать. Единственная странная вещь, которую я помню, произошла раньше, это то, что Windows установила некоторые драйверы Bluetooth при запуске (у меня нет устройств Bluetooth).

На этот раз я барахтался целый день. Теперь это снова работает! Последнее, что я сделал, это использовал Диспетчер устройств, чтобы "отключить" устройство и перезагрузить компьютер.

Драйвер PDANet был единственным решением для меня, чтобы успешно подключиться к Google Galaxy Nexus 4.2.1 на Windows 7 x64, который отклонял / игнорировал официальные драйверы USB из последней версии 4.2 ADK (редакция 7) - http://junefabrics.com/android/index.php

Другой вариант - если на вашем компьютере полностью отключены обновления Windows. В этом случае, даже если вы загрузите драйвер USB и попытаетесь обновить его вручную, как описано выше, он не будет работать. Единственный способ в этом случае - включить автоматическое обновление драйверов Windows. Как только вы включите это, удалите нерабочий драйвер из диспетчера устройств и подключите планшет к ПК через USB-кабель. Драйверы будут автоматически загружены и установлены Windows. Этот способ работал на моем ПК с Windows 7.

Для тех из вас, кто с Nexus 5x, кто видит только Kedacom usb device в диспетчере устройств и не может получить ADB, чтобы увидеть телефон... хитрость заключается в Update driver... на устройстве Kedacom и измените его на "Интерфейс / устройство Android ADB"

Решение, которое, казалось, исправило это для меня, поверх PTP, не выбирает Always allow from this computer при разрешении отладки по USB. Отмена авторизации и принятие вручную при каждом подключении устройства исправили это для меня. (Settings -> Developer options -> Revoke USB debugging authorisations)

Я на Win 7 64-битной и вижу, что большинство людей с такой же проблемой здесь также на 64-битной. Чтобы исключить аппаратное обеспечение и ОС, я использовал VMware для запуска 32-разрядной версии Win 7 на том же ПК. За исключением необходимости редактировать INF-файл с правильными VID/PID, все остальное прекрасно работало на 32-битной Win 7, что говорит о том, что с ПК все в порядке, а с 32-битной Win 7 тоже хорошо.

Возвращаясь к моей Win 7 64-bit, ни одно из предложенных выше предложений не сработало для меня. Однако я заметил одну вещь: ADB устанавливается в Program Files (x86), но установщик драйвера устанавливает 64-битную версию. 64-разрядная версия Win 7 распознает Nexus 7 как составной интерфейс Android ADB, но ADB не обнаруживает его.

Так есть ли где-нибудь 64-битная версия ADB? если моя установка под (x86) на Win 7 64-bit, значит ли это, что я где-то ошибся с установкой.

Будет ли моя проблема связана с установленными 64-битными драйверами USB, а ADB - 32-битными?

Еще одна проблема, которую я заметил, когда драйвер USB Nexus 7 устанавливается в Свойствах, я вижу только Android Composite ADB Interface для функций устройства. Под Win 7 32-битные свойства показывает 3 функции устройства.

Win 7 64bWin 7 32b

похоже, проблема в драйвере USB до сих пор.

Полный контрольный список:

  1. Включить отладку на устройство
  2. Выберите USB-соединение как PTP (камера)
  3. Установите драйвер с http://developer.android.com/sdk/win-usb.html
Другие вопросы по тегам