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

182

Я сделал очевидное - драйвер 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*****

Что я делаю не так?

Майк Ханафей
источник
12
Зайдите в Настройки -> О планшете. Нажмите на «Номер сборки» семь раз. Вуаля.
Шариф Шаик
1
После того, как вы нажмете номер сборки 7 раз, вы увидите новую опцию под названием «Параметры разработчика» в настройках. Оттуда мне также пришлось включить отладку по USB. Параметры разработчика> Отладка по USB.
Quazi Irfan
1
Стоит добавить, если ничего не помогает, попробуйте другой USB-кабель! Я включил отладку по USB в режиме разработчика и перепробовал все опции USB-накопителя, но для этого потребовалась простая замена кабеля.
Дэвид Дуглас

Ответы:

268

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

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

Благодаря @Ciaran Галлахер Settings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

Майк Ханафей
источник
3
Я должен согласиться - после нескольких часов поиска, смены драйверов и т. Д. - только вышеописанное (переход на PTP) позволило моему Nexus 7 появиться. Теперь добавим поддержку моих приложений для планшетов - Большое спасибо!
Робб
6
Как можно переключиться в режим камеры (PTP) после выбора неправильного режима?
Сеун Осева
5
большое спасибо. еще несколько минут, и мой nexus7 вылетит в окно вслед за моей WindowsPC.
Овидиу Латку
38
Для всех, кто интересуется, как переключиться в режим камеры, перейдите в «Настройки», затем в разделе «Устройство» нажмите «Хранилище», затем щелкните по эллипсу в правой части панели заголовка и нажмите «USB». подключение к компьютеру », затем в разделе« Подключить как »выберите параметр« Камера (PTP) », затем он будет работать.
Кьяран Галлахер
1
@OMA Дальнейшее обновление: мне нужно было взять NVidia Shield и протестировать мое приложение на нем, но у него нет режима PTP. Он не обнаружился, как я и ожидал (учитывая, что ни одно из моих других устройств не отображалось в режиме MTP в этой системе разработки). Немного повозившись с файлом .inf вместе с удалением и переустановкой драйверов, в итоге он заработал в режиме MTP. Я думаю, что переключение соответствующего идентификатора устройства с «CompositeAdbInterface» на «SingleAdbInterface», что добилось цели, хотя я не мог клясться в этом.
SomeCallMeTim
77

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

Зак Дауд
источник
2
Есть довольно много вещей, которые нужно проверить / пойти не так, и это, кажется, покрывает многое - исправил это для меня. Так много для plug'n'play, а?
winwaed
2
Да, нам, разработчикам программного обеспечения, приходится мириться с большим количеством дерьма. Иначе никто бы не подумал, что мы крутые.
Руаири О'Брайен
Отличная статья, в которой отсутствуют заметки о скрытых настройках разработчика от user140525
Martin Belcher - AtWrk
Вау, спасибо! Чего не хватало решению Майка, так это исправить драйвер в диспетчере устройств по пути из Android SDK. Теперь это работает.
Ixx
эта ссылка решила мою проблему; шаг "Установка драйвера USB для Windows 7 для nexus7" был необходим на моем Windows 10 dev sustem
Someone Somewhere
74

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

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

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

MotohawkSF
источник
4
За этот ответ нужно проголосовать, так как это было ключом к решению этой проблемы
TechnoTony
1
Да, это наряду с реальным ответом исправило мою проблему. Спасибо :)
Mac
1
Параметры отладки были отключены автоматически, когда я прошил один из последних ночных CyanogenMod на моем Samsung Nexus. Я должен был сделать то же самое, чтобы снова включить их. СПАСИБО за это объяснение и помощь.
Гиоргос Керамидас
Спасибо человек, ты спас день. Я думаю, что они могли бы скрыть это немного больше. Как какая-то дополнительная голосовая активация. Открыть кунжут или что-то.
Тибор Сзас
68

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

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

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

MTP -> PTP

Danpe
источник
5
Большое спасибо, но драйвер должен быть загружен через SDK Manager, сначала
Андрей Воробьев
Большое спасибо за пошаговое руководство, оно работало на Nexus 4
Рэймонд Шенон
Это единственное, что помогло мне установить мое приложение на Nexus 7.
midiwriter
это было сочетание многих из этих пунктов. это был последний для меня.
noelnoegdip
1
Мне удалось заставить его работать, используя технику. Просто наперед, если вы просто выберите папку adt (так, adt-bundle-blahblahblah) или просто окна папок "sdk" будут следовать структуре каталогов в поисках файла драйвера. Меньше навигации :) Спасибо!
andrewktmeikle
13

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

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

амосс
источник
1
Для тех, кто приземлился здесь и ищет ту же проблему с Nexus 4, это решает ее. Просто выберите стандартный драйвер samsung adb с более высоким номером версии. Я знаю, что Nexus 4 - это устройство LG, но тот же хост-контроллер USB.
мелодичный
8

Я использую Nexus 7 (4.2) на Windows 7 x64. Ни один из других методов, описанных здесь, не работал для меня. Вкладка уже была в режиме PTP. Наконец, я смог заставить его работать, добавив следующую строку в «android_winusb.inf» в <android-sdk> \ 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 в моем случае), вы можете перейти в « Управление компьютером» -> « Диспетчер устройств» -> вкладка « Сведения » -> выбрать «Идентификатор оборудования» из раскрывающегося списка.

dotrc
источник
7

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

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

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

user1821949
источник
Я бегу Sony Xperia L (C2105) и получил это работает. Просто установите с сайта, затем установите на свое устройство (возможно, вам это даже не нужно), убедитесь, что у вас включена отладка по USB, а если не подключитесь, попробуйте повторно подключить микро-USB несколько раз (мой был покрыт пылью :-))
Игорь Львович
5

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

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

seattleandrew
источник
2
Отключение ОБА MTP & PTP сработало, и после запуска команды: adb devices появилось устройство. Затем устройство предложило разрешить отпечаток пальца RSA. Огромное спасибо!
goodies4uall
1
1. отключите USB, 2. снимите флажок MTP & PTPT, 3. подключите >> получите приглашение RSA
yano
5

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

Акшай
источник
Это решило это для меня, когда больше ничего не делал, после часов поисков и суеты. У меня Windows 7 64-битная, Nexus 7 и я использую USB-драйверы SDK версии 6. Спасибо!
Мезоциклон
1

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

user1908464
источник
1

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

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

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

Deisbel R Diaz
источник
1

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

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

user3078188
источник
1

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

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

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

chrisky
источник
0

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

Элиягу
источник
0

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

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

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

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

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

Win 7 64b Win 7 32b

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

Gilson
источник
0

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

Крис Браун
источник
0

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

Джек Уклея
источник