2011-06-26 13 views
29

Włączyłem debugowanie USB na moim tabletie internetowym Archos 43 (Android 2.3.26), ale adb nie wykrywa urządzenia.Urządzenie wykrywające do debugowania (ADB) nie działa

Mam Kubuntu 11.04.

wyjściowe poleceń shell "lsusb":

[email protected]:~/.android_sdk/platform-tools$ lsusb 
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 002 Device 002: ID 0e79:1411 Archos, Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Więc moja "Vendor ID" jest 0e79, prawda?

W następnym kroku stworzyłem następujący plik:

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

o następującej treści:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666" 

Po tym mam ustawić uprawnienia:

sudo chmod a+rx /etc/udev/rules.d/51-android.rules 

Następnie zapisałem i ponownie uruchomiłem udev:

sudo /etc/init.d/udev restart 

I po wykonaniu wszystkich czynności adb że nadal nie wyświetla mojego urządzenia:

[email protected]:~/.android_sdk/platform-tools$ ./adb devices 
List of devices attached 
<empty line, because stackoverflow does not display this> 
+0

Czy próbowałeś ponownie uruchomić ADB, a następnie możesz odłączyć/ponownie podłączyć urządzenie, ponownie uruchamiając komputer? –

Odpowiedz

32

W niektórych przypadkach trzeba też dodać identyfikator dostawcy do tego pliku: ~/.android/adb_usb.ini

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. 
# USE 'android update adb' TO GENERATE. 
# 1 USB VENDOR ID PER LINE. 
0x0e79 

pamiętać, że plik może być nadpisane podczas aktualizacji SDK, więc może trzeba ponownie edytować go później .

+2

Dziękuję, właśnie skorzystałem z następującego samouczka: http://www.archos.com/support/support_tech/updates.html?country=us&lang=en (Rozdział: ADB dla programistów aplikacji na Androida (ARCHOS Internet Tablet)) To jest równe twojej sugestii :) – Spitfire777

+0

Świetnie! Zawsze dobrze jest przymierzyć urządzenie;). –

+2

I zawsze zapominam dodać "0x" przed id. To takie frustrujące !!! Wielkie dzięki! –

0

Jestem na ubuntu 11.04, tylko w ten sposób mogę uzyskać adb podłączyć do mojego Atrix jest zmiana USB tryb połączenia z "Windows Media Sync". Co jest dziwne, ale jest to szczególnie dziwne, ponieważ ADB w oknach nie łączy się, gdy jest ustawiony na wygrywanie synchronizacji multimediów. Możesz też użyć bezprzewodowego adb. Jest kilka widżetów, które bardzo ułatwiają włączenie adb wifi. Pokazują adres IP widżetu i wszystko. :)

2

Po wykonaniu polecenia sudo /etc/init.d/udev restart należy ponownie uruchomić system! Wiem, to brzmi jak zachowanie okna, ale złamałem moją głowę na 3 godziny przed odkryciem tego.

+1

Nieprawda. Prawdopodobnie musisz zabić działający serwer adb. –

+1

prawda !! po prawie półgodzinie testowanie wszystkich pozostałych poleceń restartowało się jak wdzięk, dziękuję;) może jest inny sposób, ale zadziałało to dla mnie – Hugo

2

Pożyczyłem kabel z czytnika kart SD i nie działał dla adb, podczas gdy pracował dla czytnika kart SD. Wypróbowałem nowy kabel i niski i widziany urządzenia adb rozpoznaje urządzenie!

7

Mageia 2

Początkowo, mam coś takiego:

$ adb devices 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
List of devices attached 

Potem znalazłem, że muszę zrobić Ustawienia | Aplikacje | Opracowanie i zaznacz pole wyboru Debugowanie USB.

$ adb devices 
List of devices attached 
???????????????? no permissions 

Starając się jako root, mam:

$ su -l 
# adb devices 
List of devices attached 
???????????????? no permissions 

Wtedy zdałem sobie sprawę, że ADB wciąż działa jako zwykły użytkownik.Kiedy, jako root, zrobiłem:

# adb kill-server 
# adb devices 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline 

ADB for Android Developers (ARCHOS Internet Tablet) był pomocny, z wyjątkiem skończyło się to zrobić jako root:

# cat /etc/udev/rules.d/51-android.rules 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", 
SUBSYSTEM=="usb", ENV{PRODUCT}=="e79/*", MODE="0666" 
SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666" 
# udevadm control --reload-rules 
# udevadm monitor 
. 
. 
. 
^C 

Komenda Monitor był pomocny, ponieważ pokazał urządzenie łączy, rozłącza, ścieżki itp

byłem wtedy w stanie zatrzymać serwer uruchomiony jako root, i uruchomić go jako zwykły użytkownik:

# adb kill-server 
# exit 
$ adb devices 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline 

Urządzenie nie działa po "offline". Aby ustalić, które musiałem zrestartować Archos 43.

$ adb devices 
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 device 

Choć wątpię, że działania te były konieczne, aby grać bezpiecznie, po restarcie, zrobiłem pewien podłączyć USB i wybierz obciąży przed ustawić Debugowanie USB włączone. Wyłączyłem też WiFi i synchronizację, ale gdy zaczęło działać, adb nadal łączyłoby się z tymi, które są włączone.

W tym momencie pobierania mojej aplikacji działało:

$ adb install bin/HelloWorld.apk 
2914 KB/s (157589 bytes in 0.052s) 
     pkg: /data/local/tmp/HelloWorld.apk 
Success 

PS: Następnego dnia, wiedząc, że wszystko działało poprzedniej nocy, uruchomiłem mój system programistyczny i spróbowałem połączyć się ponownie. Dało to status "offline". Wyłączyłem synchronizację i Wi-Fi, bez ponownego uruchamiania Archos 43, a następnie adb devices pokazał status "urządzenie" zamiast "offline". Nie jestem pewien, co o tym myśleć, ale wyłączenie tego może mieć znaczenie.

1

Właściwie, podobnie jak Aultbot, zastąpienie kabla też mnie podniosło. Dziwne, ponieważ używałem kabla przez kilka godzin, kiedy nagle nie działa z ADB.

Ponadto, upewnij się akceptować połączenia na telefon (nową funkcją w zabezpieczeniach Androida 4)

Edit: Ostatnio nastąpił niektóre kwestie dotyczące usług adb. Jeśli nie jest uruchomiony (sprawdź przy użyciu polecenia netstat lub podobnego lub wpisz "set ADB_TRACE = 1" przed uruchomieniem polecenia adb, aby uzyskać komunikaty debugowania), sprawdź wątki dotyczące tego komunikatu o błędzie. Częstym problemem jest to, że port domyślny jest używany przez inną aplikację (zmień port, wpisując "set ANDROID_ADB_SERVER_PORT = 12345" przed poleceniem adb).

Powiązane problemy