Android Studio rozpoznaje fizyczne urządzenie jako zerowe?

89

Opracowywałem Android Application for Android(SDK min wersja 14) i testowałem go normalnie na tabletach takich jak Samsung Galaxy 2 and Nexus 7. Jednak gdy próbowałem uruchomić aplikację (klikając uruchom AndroidStudio), AS nie rozpoznaje informacji o tablecie, co pokazuje poniższy obrazek.

Urządzenie jest zerowe

Ciekawostką jest to, że jak pokazano na powyższym obrazku AS również wykrywa sdk urządzenia, ponieważ API 1gdy jest to wersja na Androida 4.2.2 Tablet jest już ustawiony na akceptację „ USB debugging” w opcjach programisty, próbowałem zrestartować tablet i zrestartować AS , ale nadal mam ten sam problem (wszystko jest w porządku nexus 7 and Samsung Galaxy 2).

Tablet / urządzenie, nad którym pracuję, to „VeryKool” T742

Environment information:
 OS: ubuntu
 AndroidStudio version: 0.8.6

 Tablet Android version:4.2.2
 Tablet Kernel version: 3.4.5
 App min SDK: 14
Jorch914
źródło
3
Miałem ten problem wcześniej. Po prostu tablet nie jest rozpoznawany jako taki przez komputer i dlatego nie daje użytkownikowi pozwolenia na jego używanie. Możesz uruchomić usługę adb jako root (na swoim komputerze) lub po prostu dodać ten typ urządzenia gdzieś w swoich plikach udev. Wtedy powinno działać bez sztuczki z aparatem. Jeśli zmienisz tryb aparatu, Twoje urządzenie po prostu przedstawia się za pomocą innego identyfikatora urządzenia / produktu, znanego w systemie.
user3387542,
@ user3387542, ale jak dodać ten typ urządzenia do mojego udev?
AbdelHady,
łał. Dziękuję bardzo. Zmarnowałem na to godziny. a ostatecznym rozwiązaniem dla mnie jest uruchomienie Android Studio jako użytkownik / root. jak używam centos OS
Abdul Mohsin

Odpowiedzi:

161

Ok, więc w końcu znalazłem problem, najwyraźniej na tym urządzeniu trzeba ustawić połączenie jako kamera (nawet po włączeniu debugowania usb)

wprowadź opis obrazu tutaj

Również to łącze opisuje proces konfiguracji

Jorch914
źródło
3
Od wielu dni szukam informacji o tym problemie i rozwiązaniem jest połączenie go jako „Aparat”, to takie dziwne, ale działa! dzięki za udostępnienie
AbdelHady
w moim przypadku wybrano MTP i musiałem przełączyć się na PTP, a następnie z powrotem na MTP, aby działał.
rjlopes
pracowałem też nad moim! nie wiem, jaki jest tego powód!
bmnepali
W moim przypadku musiałem również uruchomić to polecenie na terminaluadb devices
Zohab Ali
57

Widziałem ten błąd kilka razy, gdy adb nie został połączony z odpowiednimi uprawnieniami.

Na terminalu spróbuj

~/Android/Sdk/platform-tools> ./adb devices    

jeśli wróci

<deviceIdentifier> no permissions

następnie musisz ponownie uruchomić adb z poprawnymi uprawnieniami

~/Android/Sdk/platform-tools$> ./adb kill-server
~/Android/Sdk/platform-tools$> sudo ./adb devices

jeśli to zadziałało, otrzymasz

List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
<deviceIdentifier>  device

Koniec problemów z rozdzielczością wersji Sdk w Android Studio.

JoeKir
źródło
1
Robiąc to, widzę nazwę mojego urządzenia (bez wartości null) tylko przez sekundę, ponownie pokazuje ona wartość null
Shruti
1
To jest najbardziej poprawna odpowiedź, ponieważ urządzenie Google Pixel jest zerowe nawet po zmianie typu połączenia.
kostyabakay
Niesamowite! Dziękuję Ci.
Kirill Starostin
22

Po prostu uruchom to polecenie po podłączeniu urządzenia do systemu Ubuntu:

adb devices

To działa dla mnie.

Uwaga: Upewnij się, że w telefonie została wybrana opcja przesyłania plików.

Rashil Shah
źródło
stackoverflow.com/a/34598874/9022007 spróbuj tego zbyt jeśli adb urządzeń nie praca dla ciebie
Rashil Shah
to działa dla mnie. 1) urządzenia adb 2) Ustawienia -> Podłączone urządzenia -> USB -> Zmień na „Przesyłanie plików”
amitabha2715
17

Na Ubuntu, z moim Pixel XL w wersji 8.0, musiałem to zrobić po podłączeniu do komputera:

Ustawienia -> Połączone urządzenia -> USB -> Zmień na „Przesyłanie plików”

RESTfulGeoffrey
źródło
ustawienia czego?
arekolek
Ustawienia telefonu
RESTfulGeoffrey
Zauważyłem, że mój Pixel przełączał się na zero po pewnym czasie połączenia. Ciągle restartowałem urządzenie, ale to samo się stało. To czasami rozwiązuje problem, ale tylko tymczasowo, dziwne ...
hmac
to działa dla mnie. 1) urządzenia adb 2) Ustawienia -> Podłączone urządzenia -> USB -> Zmień na „Przesyłanie plików”
amitabha2715
To nadal działa w 2019 roku na piksel 3. (Przyszedłem tutaj, aby patrząc na trwałe rozwiązanie, ale nadal nie znaleziono, działanie to nadal działa)
Wesely
12

Masz ten sam problem z moim Nexusem 5 / 5X / Pixel 2 XL na Ubuntu 18.04.

Trwałe rozwiązanie jest dodanie regułę udev, dzięki czemu można zawsze uzyskać dostęp do urządzenia.

  • Znajdź swoje urządzenie za pomocą polecenia lsusb. To daje np. Dla mojego Pixel 2 XL to:

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • Teraz sprawdź uprawnienia. Zastąp 001 i 003 swoimi parametrami:

    ls -l /dev/bus/usb/001/008
    
    # Output: crw-rw-r-T 1 root root 189, 8 Nov 10 18:34 /dev/bus/usb/001/003
    # Unless you are root, you are missing the permissions to access the device
    
  • Aby to naprawić, utwórz plik reguł udev sudo nano /etc/udev/rules.d/51-android.rulesz następującą zawartością:

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", 
    GROUP="plugdev", SYMLINK+="android%n"
    
    # You need to replace "18d1" and "4ee7" with your output of `lsusb` above
    
  • Odłącz i podłącz ponownie urządzenie. Teraz powinno być zawsze rozpoznawane. Jeśli nie, zrestartuj serwer adb po raz ostatni za pomocą adb kill-server.

Źródło: http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/

hb0
źródło
6

Napotkałem ten sam problem podczas korzystania z Android Studio w systemie Ubuntu. Najwyraźniej dla mnie poprawką było ustawienie trybu połączenia USB dla urządzenia na MTP .

jayeshsolanki93
źródło
6

Najpierw sprawdź wersję adb: jeśli daje wynik podobny do

Android Debug Bridge version 1.0.32

Następnie po prostu zrestartuj demona.

sudo adb kill-server
sudo adb start-server

w przeciwnym razie najpierw zainstaluj adb i zrestartuj demona Pracował dla mnie w systemie ubuntu 16.04.3

user6299305
źródło
5

Ostatnio miałem ten sam problem w przypadku telefonów Vivo i MI. Próbowałem wszystkiego, co opisano w tym wątku. Próbowałem połączyć się jako MTP, PTP; Ale nic nie działało.

Po wielu próbach znalazłem rozwiązanie dla mojego przypadku i być może pomoże też innym.

  1. Otwórz okno terminala w Android Studio
  2. Zabij serwer ADB za pomocą następującego polecenia: adb kill-server
  3. Zrestartuj serwer ADB za pomocą następującego polecenia: adb start-server

To rozwiązało mój problem.

Dhaval
źródło
dzięki uratował mi dzień ... zawsze pokazuje 24213213 [null], ale po twojej manipulacji teraz pokazuje Samsung Galaxy ...
waza123
4

Wyłączenie i ponowne włączenie debugowania, gdy urządzenie było podłączone, załatwiło sprawę.

Drazen Bjelovuk
źródło
4

Miałem ten sam problem.

Rozwiązałem to, otwierając Ustawienia mojego urządzenia z Androidem, a następnie wybierając „Wyłącz”, a następnie „Włącz” w celu debugowania USB.

CenyGG
źródło
4

Miałem ten sam problem. Rozwiązałem to robiąc

  1. Android -> SDk -> narzędzie platformy

2.Otwórz terminal dla (użytkownik ubuntu) lub otwórz cmd (użytkownik okna)

3. wpisz polecenie „sudo adb kill-server”

4.Przejdź do Android Studio, a następnie ponownie podłącz urządzenie.

DEVENDRA SINGH
źródło
1

Na Ubuntu instalacja adb działała dla mnie, myślę, że był jakiś problem z domyślnym Android Studio One.

W terminalu użyj polecenia

sudo apt install adb 
Manohar Reddy
źródło
0

Czasami w Linuksie (w moim przypadku Centos 6) przyczyną może być to, że nie uruchomiłeś Android Studio jako użytkownik root. uruchom ponownie Android Studio jako użytkownik root i wypróbuj!

Abdul Mohsin
źródło
2
To okropny pomysł. Nigdy nie uruchamiaj aplikacji użytkownika jako root!
agilob
0

W przypadku maszyny ubuntu wybierz opcję transferu, a urządzenie zostanie wykryte w Android Studio, a także do debugowania. Ogólnie urządzenie jest w stanie ładowania dla systemu Windows, ale w przypadku Ubuntu tak to działa.

Również wiele razy urządzenie nie jest wykrywane, zrób to samo ponownie.

Prayag
źródło
0

Potrzebny tryb MTP, ale nie pojawia się pod stroną USB. W ustawieniach przechowywania na pasku menu możesz ustawić typ połączenia z komputerem na ... MTP.

Mark Deacon
źródło
0

Sprawdź uruchomione procesy, miałem uruchomionych kilka procesów adb i myślę, że to mi schrzaniło. Zabij ich wszystkich, a następnie uruchom ponownie Studio. HTC Sync Manager, GenyMotion itp., A być może, gdy masz otwartych wiele okien Android Studio, może spowodować wiele konfliktów procesów adb.

hmac
źródło
0

Szczególnie na Ubuntu lub na jakiejkolwiek innej platformie. Proszę i sprawdź swoją wersję adb. Nie mogę tego wystarczająco podkreślić. upewnij się, że jest zaktualizowany lub najnowsza wersja, zwłaszcza jeśli powyższe odpowiedzi nie działają, a ten link również nie działa.

Po zaktualizowaniu folderu narzędzi platformy znajdującego się pod adresem

PATH_TO/Android/Sdk/platform-tools

który zawiera również adbdziałał. Pobiegłem
adb devices

najpierw pokaże nieautoryzowane wtedy

odłącz i ponownie podłącz urządzenie z systemem Android. Wtedy telefon zapyta o pozwolenie, zanim system odczyta urządzenie.

zapalić
źródło
0

W moim przypadku wystarczyło spojrzeć na mój telefon i zaznaczyć wyskakujące okienko, aby zezwolić na debugowanie USB.

Lew
źródło
-1

Przejdź do terminala w Android Studio i uruchom „urządzenia adb”. Pokaże podłączone urządzenia. Następnie uruchom aplikację, a urządzenie powinno się pojawić.

VIVEK CHOUDHARY
źródło