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?
źródło
Odpowiedzi:
Gdy Nexus 7 jest podłączony, pojawia się trwałe powiadomienie, które wskazuje „ POŁĄCZ AS / Media Device (MTP) ”. W tym stanie
adb devices
nie 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
źródło
Sprawdź post na blogu Nexus 7 Rozwój Androida, który zawiera szczegółowe kroki.
źródło
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.
Źródło: Jak włączyć ustawienia programisty w Androidzie 4.2
źródło
Aby naprawić / zainstalować sterownik Android USB w systemie Windows 7/8 32bit / 64bit :
<sdk>\extras\google\usb_driver\
.)Jeśli nadal nie działa, spróbuj zmienić z MTP na PTP .
źródło
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.
źródło
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”:
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.
źródło
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.
źródło
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.
źródło
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.źródło
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
źródło
W moim przypadku miałem dwa problemy:
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.
Konieczność ustawienia opcji PTP.
źródło
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.
źródło
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.
źródło
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.
źródło
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.
wygląda na to, że problemem jest nadal sterownik USB.
źródło
Pełna lista kontrolna:
źródło
Rozwiązaniem, które wydawało się to dla mnie naprawiać, oprócz PTP, nie jest wybór,
Always allow from this computer
kiedy 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
)źródło
Dla tych, którzy z Nexusem 5x, którzy widzą tylko
Kedacom usb device
w Menedżerze urządzeń i nie mogą dostać adb, aby zobaczyć telefon ... sztuczka polegaUpdate driver...
na urządzeniu Kedacom i zmianie go na „interfejs / urządzenie ADB Androida”źródło