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

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


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.


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.


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”


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/


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 .


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


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.


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ę.


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.


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.


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 

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!


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.


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.


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.


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.


0

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


-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ć.

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.