Nexus 7 nie jest widoczny przez USB przez „urządzenia adb” z Windows 7 x64

182

Zrobiłem to oczywiste - sterownik USB został zainstalowany z najnowszego zestawu SDK systemu Android, a debugowanie USB zostało włączone w tablecie.

Gdy Nexus 7 jest podłączony, urządzenie pojawia się w Menedżerze urządzeń Windows jako „Android Phone” / „Android Composite ADB Device”, z właściwościami pokazującymi sterownik w wersji 6.0.0.0, więc poprawny sterownik jest zainstalowany i działa.

Dowodzi to również, że urządzenie znajduje się w trybie debugowania USB, ponieważ jeśli tak nie jest, pojawia się w systemie Windows w „Urządzeniach przenośnych” / „Nexus 7”.

Problem polega na tym, adb devicesże nie pokazuje żadnych urządzeń, a Eclipse również (co nie jest zaskakujące) również nie oferuje Nexusa 7 jako urządzenia sprzętowego do uruchamiania aplikacji.

Ponownie uruchomiłem oba urządzenia bez efektu.

Jedynym debugowaniem, które mogę wymyślić, jest włączanie ADB_TRACE=all, ale nic mi to nie mówi:

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*****

Co ja robię źle?

Mike Hanafey
źródło
12
Przejdź do Ustawienia -> Informacje o tablecie. Stuknij siedem razy w „Numer kompilacji”. Voila
Sharief Shaik,
1
Po 7-krotnym naciśnięciu numeru kompilacji zobaczysz w ustawieniu nową opcję o nazwie „Opcje programisty”. Stamtąd musiałem również włączyć debugowanie USB. Opcje programisty> Debugowanie USB.
Quazi Irfan,
1
Warto dodać, jeśli wszystko inne zawiedzie, spróbuj użyć innego kabla USB! Miałem debugowanie USB w trybie programisty i wypróbowałem wszystkie opcje pamięci USB, ale potrzebna była prosta zmiana kabla.
David Douglas

Odpowiedzi:

268

Gdy Nexus 7 jest podłączony, pojawia się trwałe powiadomienie, które wskazuje „ POŁĄCZ AS / Media Device (MTP) ”. W tym stanie adb devicesnie pokaże się Nexus ani niewątpliwie żadne inne urządzenie. Nie do końca oczywiste, ale jeśli wybierzesz drugą opcję „Kamera (PTP)”, urządzenie będzie dostępne do debugowania (lekcją jest zignorowanie kamery i skupienie się na protokole PTP).

Ta konfiguracja jest trwała i domyślam się, że z zupełnie nowym urządzeniem będzie łączyć się jako MTP, dopóki nie zostanie podane inaczej.

Dzięki @Ciaran Gallagher Settings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

Mike Hanafey
źródło
3
Muszę się zgodzić - po godzinach wyszukiwania, zmianie sterowników itp. - To tylko powyższe (zmiana na PTP) pozwoliło na pojawienie się mojego Nexusa 7. Teraz dodaję obsługę moich aplikacji na tablety - wielkie dzięki!
Robbe
6
Jak można przejść do trybu aparatu (PTP) po wybraniu niewłaściwego trybu?
Seun Osewa,
5
wielkie dzięki. jeszcze kilka minut, a mój nexus7 wyleci przez okno za moim WindowsPC.
Ovidiu Latcu
38
Jeśli ktoś zastanawia się, jak przejść do trybu aparatu, przejdź do „Ustawienia”, a następnie w sekcji „Urządzenie” kliknij „Pamięć”, a następnie kliknij elipsę po prawej stronie okienka nagłówka i kliknij „USB” połączenie z komputerem ”, a następnie w sekcji„ Połącz jako ”zaznacz opcję„ Kamera (PTP) ”, a wtedy zadziała.
Ciaran Gallagher
1
@OMA Dalsza aktualizacja: Musiałem podnieść NVidia Shield i przetestować na niej moją aplikację, ale nie ma ona trybu PTP. Nie pojawił się, tak jak się spodziewałem (biorąc pod uwagę, że żadne z moich innych urządzeń nie wyświetlało się w trybie MTP w tym systemie deweloperskim). Trochę majstrowania przy pliku inf wraz z usuwaniem i ponowną instalacją sterowników w końcu sprawiło, że działał w trybie MTP. Myślę, że to zmieniło pasujący identyfikator urządzenia z „CompositeAdbInterface” na „SingleAdbInterface”, ale nie mogłem przysiąc.
SomeCallMeTim
77

Sprawdź post na blogu Nexus 7 Rozwój Androida, który zawiera szczegółowe kroki.

Zack Dawood
źródło
2
Jest kilka rzeczy, które wymagają sprawdzenia / pójścia nie tak, i wydaje się, że to wszystko obejmuje - naprawiłem to dla mnie. Tyle o plug'n'play, co?
Winwaed
2
Tak, nasi twórcy oprogramowania muszą znosić wiele bzdur. W przeciwnym razie nikt nie pomyślałby, że jesteśmy spoko.
Ruairi O'Brien
W świetnym artykule brakuje tylko notatek o ukrytych ustawieniach programisty od użytkownika140525
Martin Belcher - AtWrk
Wow, dziękuję! Brakowało rozwiązania Mike'a, to naprawić sterownik w menedżerze urządzeń ze ścieżką z Android SDK. Teraz działa.
Ixx
ten link rozwiązał mój problem; krok „Instalacja sterownika Windows7 USB dla nexus7” był konieczny w moim systemie Windows 10 dev sustem
Someone Somewhere
74

Oprócz ustawienia trybu połączenia / przechowywania USB na „Aparat (PTP)” musiałem również włączyć tryb programisty, który był ukryty od wersji 4.2.

  1. Przejdź do menu Ustawienia i przewiń w dół do „Informacje o telefonie / tablecie”. Dotknij tego.
  2. Przewiń ponownie w dół, gdzie zobaczysz „Numer kompilacji”.
  3. Stuknij siedem (7) razy. Po trzecim dotknięciu zobaczysz zabawne okno dialogowe z informacją, że dzieli Cię tylko cztery stuknięcia od bycia programistą. Naciskaj i masz ustawienia programisty.
  4. Teraz w Ustawieniach są „Opcje programisty”. Dotknij tego.
  5. Stuknij opcję „Debugowanie USB”, aby ją włączyć.

Źródło: Jak włączyć ustawienia programisty w Androidzie 4.2

MotohawkSF
źródło
4
Ta odpowiedź powinna zostać poddana pod głosowanie, ponieważ było to dla mnie kluczem do rozwiązania tego problemu
TechnoTony,
1
Tak, to wraz z faktyczną odpowiedzią rozwiązało mój problem. Dzięki :)
Mac
1
Opcje debugowania były automatycznie wyłączane, kiedy sflashowałem jeden z kilku ostatnich Nightlies CyanogenMod na moim Samsung Nexus. Musiałem zrobić to samo, aby je ponownie włączyć. DZIĘKUJEMY za to wyjaśnienie i pomoc.
Giorgos Keramidas
Dziękuję człowieku, uratowałeś dzień. Myślę, że mogliby to jeszcze trochę ukryć. Jak dodatkowa aktywacja głosowa. Otwarty sezam czy coś.
Tibor Szasz
68

Aby naprawić / zainstalować sterownik Android USB w systemie Windows 7/8 32bit / 64bit :

  1. Podłącz urządzenie z systemem Android do portu USB komputera.
  2. Kliknij Komputer prawym przyciskiem myszy na pulpicie lub Eksploratorze Windows i wybierz Zarządzaj .
  3. Wybierz Urządzenia w lewym okienku.
  4. Znajdź i rozwiń Inne urządzenie w prawym okienku.
  5. Kliknij prawym przyciskiem myszy nazwę urządzenia ( Nexus 7 / Nexus 5 / Nexus 4 ) i wybierz opcję Aktualizuj oprogramowanie sterownika . Spowoduje to uruchomienie Kreatora aktualizacji sprzętu.
  6. Wybierz Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika i kliknij Dalej.
  7. Kliknij Przeglądaj i zlokalizuj folder sterownika USB. (Sterownik Google USB znajduje się w <sdk>\extras\google\usb_driver\.)
  8. Kliknij przycisk Dalej, aby zainstalować sterownik.

Jeśli nadal nie działa, spróbuj zmienić z MTP na PTP .

MTP -> PTP

Danpe
źródło
5
Dziękuję bardzo, ale najpierw należy pobrać sterownik za pomocą SDK Managera
Andrey Vorobyev
Wielkie dzięki za przewodnik krok po kroku, zadziałało na Nexusie 4
Raymond Chenon
To jedyna rzecz, która pomogła mi zainstalować moją aplikację na moim Nexusie 7.
midiwriter
było to połączenie wielu tych punktów. to był dla mnie ostatni.
noelnoegdip,
1
Udało mi się sprawić, by działał przy użyciu techniki. Tylko heads up, jeśli po prostu wybierzesz folder adt (więc adt-bundle-blahblahblah) lub po prostu okna folderów „sdk” będą podążać za strukturą katalogów w poszukiwaniu pliku sterownika. Mniej nawigacji :) Dzięki!
andrewktmeikle,
13

Odkryłem, że możesz także zrobić Menedżera urządzeń -> Aktualizuj oprogramowanie sterownika -> Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika -> Pozwól mi wybrać z listy sterowników urządzeń na moim komputerze -> Telefon z Androidem -> [Wersja sterownika ADB 6 w górnej części lista ... przepraszam, nie pamiętam dokładnej nazwy]

Jak tylko to zrobiłem, połączyłem się i mogłem sideload wersji 4.2 na Windows 7 64 bit.

Amos
źródło
1
Każdy, kto tu wylądował i szuka tego samego problemu z Nexusem 4, rozwiązuje to. Po prostu wybierz standardowy sterownik adb samsung z wyższym numerem wersji. Wiem, że Nexus 4 to urządzenie LG, ale to ten sam kontroler hosta USB.
melodiouscode
8

Używam Nexusa 7 (4.2) na Windows 7 x64. Żadna z innych opisanych tutaj metod nie działała dla mnie. Karta była już w trybie PTP. Wreszcie mogłem go uruchomić, gdy dodałem poniższy wiersz do „android_winusb.inf” pod <android-sdk> \ extras \ google \ usb_driver i wykonałem „sterownik aktualizacji”:

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

Aby uzyskać dokładny identyfikator sprzętu (USB \ VID_18D1 i PID_4E44 oraz REV_9999 i MI_01 w moim przypadku), możesz przejść do Zarządzania komputerem -> Menedżer urządzeń -> karta Szczegóły -> wybierz Identyfikator sprzętu z menu rozwijanego.

dotrc
źródło
7

Miałem podobny problem i wypróbowałem inne sugestie.

Wykorzystanie sterownika PdaNet w pliku do pobrania z http://www.junefabrics.com/android/download.php jest tym, co w końcu wykonało zadanie i pozwoliło mi w końcu połączyć się przez ADB. Przed zainstalowaniem sterownika z tego miejsca nie byłem w stanie rozpoznać mojego Nexusa, aby sideload załadować nowego Androida 4.2 na moim urządzeniu.

Korzystam z systemu Windows 7 64-bitowego z moim Nexusem 7.

użytkownik1821949
źródło
Używam Sony Xperia L (C2105) i działam. Po prostu zainstaluj z witryny, niż zainstaluj na swoim urządzeniu (być może nawet tego nie potrzebujesz), upewnij się, że masz debugowanie USB, a jeśli się nie łączy, spróbuj ponownie podłączyć micro-USB kilka razy (moja była pokryta kurzem :-))
Igor L.
5

Miałem podobne problemy i stwierdziłem, że odznaczenie wszystkich opcji (zarówno MTP, jak i PTP) pozwoliło urządzeniu uzyskać odcisk palca RSA z mojego komputera, a po tym czasie „urządzenia adb” działały.

Należy pamiętać, że odcisk palca RSA musi zostać zaakceptowany, zanim urządzenie z Androidem 4.2+ będzie mogło połączyć się przez ADB, oczywiście ze względów bezpieczeństwa.

seattleandrew
źródło
2
Odznaczenie OBU MTP i PTP działało i urządzenie pojawiło się po uruchomieniu polecenia: urządzenia adb. Następnie urządzenie poprosiło o zezwolenie na odcisk palca RSA. Wielkie dzieki!
goodies4uall,
1
1. odłącz USB, 2. odznacz MTP i PTPT, 3. powtórz >> pobierz RSA
yano
5

Spróbuj tego. Jeśli urządzenie nie zostanie wykryte, użyj PdaNet. Możesz go pobrać stąd . Pobierz i zainstaluj na swoim komputerze. Podłącz swój telefon. Automatycznie wykrywa sterownik z Internetu.

Akshay
źródło
To rozwiązało dla mnie, gdy nic innego nie zrobiło, po godzinach googlingu i zamieszania. Mam system Windows 7 64-bitowy, Nexus 7 i korzystający ze sterowników USB SDK w wersji 6. Dzięki!
Mezocyklon
1

Sterownik PDANet był dla mnie jedynym rozwiązaniem, aby pomyślnie połączyć się z Google Galaxy Nexus 4.2.1 na Windows 7 x64, który odrzucał / ignorował oficjalne sterowniki USB z najnowszego pakietu 4.2 ADK (wersja 7) - http://junefabrics.com/android/ index.php

użytkownik1908464
źródło
1

W moim przypadku miałem dwa problemy:

  1. Mój komputer otrzymał poprzedni sterownik „Samsung Galaxy II” i przypisał go do mojego Nexusa 7. Potrzebowałem go odinstalować wiele razy. Wreszcie mogłem powiązać odpowiedni sterownik Nexusa 7.

  2. Konieczność ustawienia opcji PTP.

Deisbel R Diaz
źródło
1

Mam także Nexusa 7 i 64-bitowego systemu Windows 7, a ADB działał, grzebiąc w tym wątku i innych około miesiąc temu. Potem przestało działać. Jedyną dziwną rzeczą, jaką pamiętam, było to, że Windows instalował niektóre sterowniki Bluetooth podczas uruchamiania (nie mam urządzeń Bluetooth).

Tym razem zakręciło mi się w głowie. Teraz znowu działa! Ostatnią rzeczą, jaką zrobiłem, było użycie Menedżera urządzeń, aby „wyłączyć” urządzenie i uruchomić ponownie.

użytkownik3078188
źródło
1

Miałem zainstalowany sterownik HTC One i pomyślałem, że to był powód, dla którego nie działałem. Okazało się jednak, że powodem było wyłączenie zarówno MTP / PTP.

Nie znalazłem miejsca na ustawienia, ale potem znalazłem Jak skonfigurować USB w twoim Nexusie 7 .

Jest to dla mnie dość mylące, znajduje się na karcie Pamięć . Dla mnie działa albo MTP, albo PTP.

chrisky
źródło
0

Inną opcją jest całkowite wyłączenie aktualizacji systemu Windows na komputerze. W takim przypadku nawet jeśli pobierzesz sterownik USB i spróbujesz zaktualizować go ręcznie, jak opisano powyżej, nie zadziała. Jedynym sposobem w tym przypadku jest automatyczne włączenie aktualizacji systemu Windows. Po włączeniu usuń niedziałający sterownik z menedżera urządzeń i podłącz tablet do komputera za pomocą kabla USB. Sterowniki zostaną automatycznie pobrane i zainstalowane przez system Windows. W ten sposób działało na moim komputerze z systemem Windows 7.

Eliyahu
źródło
0

Używam Win 7 64-bit i widzę, że większość ludzi z tym samym problemem tutaj również w wersji 64-bitowej. Aby wykluczyć sprzęt i system operacyjny, użyłem VMware do uruchomienia Win 7 32-bit na tym samym komputerze. Z wyjątkiem konieczności edytowania pliku .inf z prawidłowym VID / PID, wszystko inne poszło idealnie na Win 7 32-bit, więc to mówi mi, że komputer jest w porządku, a Win 7 32-bit również jest w porządku.

Wracając do mojego Win 7 64-bit, żadna z powyższych sugestii nie działała dla mnie. Zauważyłem jednak jedną rzecz: ADB jest zainstalowany w Program Files (x86), ale instalator sterownika instaluje 64-bit. Win 7 64-bit rozpoznaje Nexusa 7 jako Android Composite ADB Interface, ale ADB go nie wykrywa.

Czy jest gdzieś wersja 64-bitowa ADB? jeśli moja instalacja nie działa (x86) w systemie Windows 7 64-bit, czy to oznacza, że ​​popełniłem błąd przy instalacji.

Czy mój problem byłby związany z zainstalowanymi 64-bitowymi sterownikami USB, ale ADB jest 32-bitowy?

Kolejny problem, który zauważyłem, gdy sterownik Nexus 7 USB został zainstalowany we właściwościach. Widzę tylko interfejs Android Composite ADB dla funkcji urządzenia. W Win 7 właściwości 32-bitowe pokazuje 3 funkcje urządzenia.

Wygraj 7 64b Wygraj 7 32b

wygląda na to, że problemem jest nadal sterownik USB.

Gilson
źródło
0

Rozwiązaniem, które wydawało się to dla mnie naprawiać, oprócz PTP, nie jest wybór, Always allow from this computerkiedy zezwala się na debugowanie USB. Cofnięcie autoryzacji i ręczne akceptowanie przy każdym podłączeniu urządzenia naprawiło to dla mnie. ( Settings -> Developer options -> Revoke USB debugging authorisations)

Chris Brown
źródło
0

Dla tych, którzy z Nexusem 5x, którzy widzą tylko Kedacom usb devicew Menedżerze urządzeń i nie mogą dostać adb, aby zobaczyć telefon ... sztuczka polega Update driver...na urządzeniu Kedacom i zmianie go na „interfejs / urządzenie ADB Androida”

Jack Ukleja
źródło