Ubuntu nie wykrywa mojego urządzenia z Androidem


34

Jestem nowy na Androida. Właśnie pobrałem i zainstalowałem Android SDK. Teraz, gdy uruchamiam aplikację z Eclipse, moje urządzenie nie jest wykrywane. Poszukałem go i wychowałem to jako moje rozwiązanie, ale to też nie zadziałało.

Oto 51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

Następnie ponownie uruchomiłem laptopa i uruchomiłem polecenie:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

Otrzymuję wynik:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

EDYTOWAĆ

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

Edycja: 2

Po przesłaniu odpowiedzi oto wynik, który otrzymałem:

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

Używam Micromax Canvas 2.2 A114 - Android Wersja 4.2.2

Proszę pomóż mi. Dzięki.


2
Czy w Androidzie jest włączone debugowanie USB?
— Jon Hanna

Tak. jest włączony.
— Saiyan Prince


1
Powinien to być PODSYSTEM, liczba pojedyncza.
— pakman

Odpowiedzi:


42

OK tutaj są wszystkie kroki, aby to zadziałało. Miałem problemy ze wszystkimi odpowiedziami, które znalazłem w Internecie, drobiazgi wszędzie bez określonego zamówienia i żadnego pojedynczego działającego rozwiązania (z systemem Android Studio, Jmonkey 3D i Ubuntu 14.04)

Jeśli urządzenia adb pokazują urządzenie z Androidem jako ????????? (bez uprawnień) postępuj zgodnie z tymi instrukcjami:

  1. utwórz plik /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. skopiuj i wklej zawartość poniżej:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. Uruchom następujące polecenie, aby zmienić uprawnienia do pliku:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. podłącz swój telefon przez usb i uruchom następujące polecenie:

    lsusb
    

    Poszukaj swoich urządzeń Przykład (Nexus 5):

    Magistrala 003 Urządzenie 074: ID 18d1 : 4ee7 Google Inc.

    W przypadku Nexusa 5 identyfikator dostawcy to 18d1 , mój jest na magistrali „ 003 ”. Jeśli nie widzisz zmiany po podłączeniu urządzenia do lsusb , być może kabel USB jest tylko do ładowania.

  5. Teraz ponownie załaduj reguły za pomocą następujących poleceń:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Sprawdź, czy urządzenie umożliwia teraz dostęp do grupy użytkowników plugdev

    ls -l /dev/bus/usb/<bus number from step 4>
    

    Przykład:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. Uruchom urządzenia adb, aby potwierdzić, że uprawnienia są prawidłowe i ciesz się!

Uwaga: jeśli nie utworzyłeś grupy plugdev i nie dodałeś do niej swojej nazwy użytkownika (jeśli odmowa dostępu poprzedza „sudo” następujące polecenia):

  1. Dodaj grupę plugdev:

    groupadd plugdev
    
  2. Dodaj swoją nazwę użytkownika do grupy plugdev (useradd -G {nazwa-grupy} nazwa użytkownika):

    useradd -G plugdev billy
    
  3. Zrestartuj udev (może być konieczne wylogowanie i ponowne zalogowanie, aby zaktualizować grupę użytkowników):

    sudo service udev restart
    

@EvanCarrol: najlepiej jest dokonać zmiany jako kroku 0 przed rozpoczęciem, a nie w środku (przepraszam za odrzucenie, ale powoduje, że odpowiedź jest mniej jasna zamiast jaśniejsza): /
— Fabby

Ta odpowiedź działa dobrze. Po aktualizacji do 15.10 muszę to zrobić po każdym ponownym uruchomieniu. Działa świetnie.
— Jesteśmy Borg

Czy mogę to nazwać Seksowną odpowiedzią ... dzięki mojemu przyjacielowi dzień ...
— Tushar Pandey

5

Spróbuj grupy plugdevzamiast plugindev. Następnie uruchom ponownie udev:

sudo udevadm control --reload-rules
sudo service udev restart

Jeśli to nie zadziała, dowiedz się, gdzie dokładnie Twoje urządzenie jest połączone z lsusb. Następnie sprawdź uprawnienia:

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

Fakt, który lsusbdał nam:

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

oznacza, że ​​telefon komórkowy jest podłączony do magistrali 002 jako urządzenie 004. Dlatego obiekt udev utworzył urządzenie /dev/bus/usb/002/004.

Pokaż nam uprawnienia urządzenia za pomocą polecenia:

ls -l /dev/bus/usb/002/004

Jako tymczasowe obejście tego problemu możesz sprawić, że urządzenie będzie czytelne / zapisywane na świecie za pomocą tego polecenia (upewnij się, że telefon jest podłączony):

sudo chmod 666 /dev/bus/usb/002/004

Następnie spróbuj adb devicesponownie.

Zauważyłem też, że pod koniec reguły udev masz OWNER="<username>". Naprawdę to zastąpiłeś OWNER="crazydeveloper", prawda?

Twoje uprawnienia są w porządku. udev podniósł urządzenie i ustawił uprawnienia na 666, a grupę na plugdev. Z jakiegoś powodu nie ustawił właściciela na crazydevelopera, ale to nie jest tak ważne.

Upewnij się, że jesteś członkiem grupy plugdev. Użyj tego polecenia:

sudo useradd -G plugdev crazydeveloper

Następnie wyloguj się, odłącz telefon, zaloguj się ponownie, podłącz go i spróbuj adb devicesponownie. Daj znać, co się dzieje.


proszę zobaczyć pytanie teraz ...
— Saiyan Prince

sprawdź pytanie teraz.
— Saiyan Prince

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?Pomogło mi. Dzięki :): D
— Yash Sodha

Postępowałem zgodnie z twoją radą, ale nie zadziałało to dla mnie. Zadziałało przełączanie opcji USB dostarczonych przez urządzenie, spróbuj przełączyć się na PTP z MTP. Ten działał dla mnie.
— George D

4

Musisz zmienić 2 rzeczy:

  1. Zmień pierwszy „ATTR {idProduct}” na „ATTR {idVendor}” w pliku 51-android.rules.

  2. Uruchom następujące polecenia z terminala:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

Może to trywialny błąd, jak widzę w 51-android.rules podwoiłeś parametr idProduct i nie ma idVendor, spróbuj prostej zmiany nazwy.


1

Moje urządzenie z Androidem miało debugowanie USB, które wydawało się być problemem, więc przeszedłem do ustawień programisty i wyłączyłem go. Podłączyłem kabel USB, a następnie pojawiło się okno, które pozwoliło mi włączyć pamięć USB. To sprawiło, że mój Ubuntu 14.04 wykrył urządzenie z Androidem. Nie wiem, czy wszystkie urządzenia mają to ustawienie, ale rozwiązało to mój problem, podczas gdy wypróbowałem wszystkie inne metody. Dziękuję Ci


0

Miałem ten sam problem z urządzeniem z Androidem (HTC one (M7)) w Ubuntu 14.04. Ponownie uruchomiłem system Windows 7.0. Znalazłem tam również ten sam problem. Podczas wyszukiwania znalazłem następujący link. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

Wybrałem * # 7284 #, jak sugeruje Gerry Anthony w tym linku. I działało w systemie Windows. Uruchomiłem ponownie na Ubuntu 14.04 i moje urządzenie z Androidem zostało wykryte.


Sprawdź także następujące elementy. Napraw problemy z wykrywaniem USB na Androidzie
— Praveen

0

Po wypróbowaniu każdego z potencjalnych rozwiązań opisanych powyżej oraz w innych wątkach z innych forów odkryłem, że powodem, dla którego mój HOX postanowił nie komunikować się z moim laptopem (14.04), było prostsze, mechaniczne. Przewód USB do gniazda micro USB słuchawki był uszkodzony. Dzięki zastosowaniu przewodu o / e, który zawsze wydawał się sztywniejszy i miał mniejsze szanse na przetrwanie niż zwykły przewód zakupiony w AsDa, wznowiono normalną obsługę.

Następnie wykorzystano DMM, aby pokazać, jak dokładnie doszło do tego stanu rzeczy: rezystancja pasma zasilania + 5 V w tym przewodzie wzrosła do punktu, w którym odczyt był prawie otwarty. Wartość R o / e, HTC oznaczony linią ołowiu + 5 V był tylko nieco bardziej odporny niż byłby martwy zwarcie i nie był zbyt dobrze na działaniu lub układzie micro USB nie, nie mogłem zrozumieć, jak to wpłynęło transfer danych może więc jedynie zakładać, że szyna zasilająca na płycie we / wy w jednym lub obu urządzeniach korzysta z części + 5 V jednego lub obu gniazd również do przesyłania danych.

To, czego się tutaj nauczyłem: najpierw sprawdź prostsze rzeczy, zanim wyciągniesz włosy z niczego z zainstalowanym oprogramowaniem, a wszystko to zostało przywrócone do pierwotnego stanu, zanim pojawiła się usterka!

HTC - 1, dostawca kabli stowarzyszonych mleczarni - 0.


-1

Powinno to wyglądać tak:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem - zawsze możesz komentować własne posty, a gdy będziesz mieć wystarczającą reputację , będziesz mógł komentować każdy post .
— Fabby

@Fabby To wygląda na próbę odpowiedzi na pytanie ..
— Seth
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.