Android Studio распознает физическое устройство как Null?

89

Я разрабатываю Android Application for Android(SDK min версии 14), и я обычно тестирую его с планшетами, такими как Samsung Galaxy 2 and Nexus 7. Однако, когда я попытался запустить приложение (нажав кнопку «Выполнить» AndroidStudio), AS не распознает информацию о планшете, которая показана на рисунке ниже.

Устройство не работает

Интересно то, что, как показано на рисунке выше, AS также обнаруживает SDK устройства, поскольку, API 1когда это версия Android, 4.2.2 планшет уже настроен на принятие " USB debugging" в параметрах разработчика, я попытался перезагрузить планшет и перезапустить AS , но все равно у меня такая же проблема (все в порядке nexus 7 and Samsung Galaxy 2).

Я работаю над планшетом / устройством "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
источник
3
У меня была эта проблема раньше. Просто планшет не распознается вашим компьютером как таковой и поэтому не дает вашему пользователю разрешения на его использование. Вы можете запустить службу adb как root (на вашем компьютере) или просто добавить этот тип устройства где-нибудь в свои списки udev. Тогда он должен работать без фокусов с камерой. Если вы измените режим камеры, ваше устройство просто представится другим идентификатором устройства / продукта, известным вашей системе.
user3387542 07
@ user3387542 а ​​как добавить этот тип устройства в мой udev?
AbdelHady
Вау. Спасибо тебе большое. Я потратил на это часы. и последнее решение для меня - запустить студию Android от имени пользователя / root. поскольку я использую ОС centos
Абдул Мохсин,

Ответы:

161

Хорошо Итак, я наконец нашел проблему, по-видимому, на этом устройстве вы должны установить подключение как камеру (даже после того, как отладка по USB уже включена)

введите описание изображения здесь

Также эта ссылка описывает процесс настройки

Jorch914
источник
3
Я уже несколько дней искал эту проблему, и решение - подключить ее как «Камера», это так странно, но работает! спасибо за то, что поделился
AbdelHady
в моем случае был выбран MTP, и мне пришлось переключиться на PTP, а затем обратно на MTP, чтобы он заработал.
rjlopes
на моем тоже работал! не знаю, в чем причина!
bmnepali
В моем случае мне также пришлось запустить эту команду на терминалеadb devices
Зохаб Али
57

Я видел эту ошибку несколько раз, когда adb не был подключен с правильными разрешениями.

На терминале попробуйте

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

если он вернется

<deviceIdentifier> no permissions

тогда вам нужно перезапустить adb с правильной завивкой

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

если это сработало, то вы получите

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

После этого проблем с разрешением версии Sdk в Android Studio больше не будет.

ДжоКир
источник
1
Сделав это, я могу увидеть свое имя устройства (без нуля) всего на секунду. Оно снова показывает нулевое значение
Шрути,
1
Это наиболее правильный ответ, потому что устройство Google Pixel обнуляется даже после изменения типа подключения.
kostyabakay
Потрясающие! Спасибо.
Кирилл Старостин
22

Просто запустите эту команду после подключения устройства к системе Ubuntu:

adb devices

У меня это работает.

Примечание. Убедитесь, что в телефоне выбран вариант передачи файлов.

Рашил Шах
источник
stackoverflow.com/a/34598874/9022007 попробуйте это тоже, если устройства adb не работают для вас
Рашил Шах 08
он работает для меня. 1) устройства adb 2) Настройки -> Подключенные устройства -> USB -> Изменить на «Передача файлов»
amitabha2715
17

В Ubuntu, с моим Pixel XL на 8.0, мне пришлось сделать это, подключившись к компьютеру:

Настройки -> Подключенные устройства -> USB -> Изменить на «Передача файлов»

RESTfulДжеффри
источник
настройки чего?
arekolek 02
Настройки телефона
RESTfulGeoffrey 03
Я обнаружил, что мой Pixel переходит на нулевое значение через некоторое время после подключения. Я продолжал перезагружать устройство, но происходило то же самое. Иногда это исправляет, но только временно, странно ...
hmac 07
он работает для меня. 1) устройства adb 2) Настройки -> Подключенные устройства -> USB -> Изменить на «Передача файлов»
amitabha2715
Это все еще работает в 2019 году на пикселе 3. (Я пришел сюда, чтобы искать постоянное решение, но все еще не нашел, это действие все еще работает)
Wesely
12

У меня такая же проблема с моим Nexus 5 / 5X / Pixel 2 XL в Ubuntu 18.04.

Постоянное решением является добавление правила Udev , так что вы всегда можете получить доступ к устройству.

  • Найдите свое устройство с помощью команды lsusb. Это выводит, например, для моего Pixel 2 XL это:

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • Теперь проверьте разрешения. Замените 001 и 003 своими параметрами:

    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
    
  • Чтобы исправить это, создайте файл правил udev со sudo nano /etc/udev/rules.d/51-android.rulesследующим содержимым:

    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
    
  • Отключите и снова подключите устройство. Теперь оно всегда должно распознаваться. Если нет, перезапустите сервер adb в последний раз с помощью adb kill-server.

Источник: http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/

hb0
источник
6

Возникла та же проблема при использовании Android Studio на Ubuntu. По-видимому, для меня исправление заключалось в том, чтобы установить режим USB-подключения для устройства как MTP .

jayeshsolanki93
источник
6

Сначала проверьте версию adb: если он дает вывод вроде

Android Debug Bridge version 1.0.32

Затем просто перезапустите демон.

sudo adb kill-server
sudo adb start-server

иначе сначала установите adb и перезапустите демон. Работал для меня в ubuntu 16.04.3

user6299305
источник
5

Недавно я столкнулся с той же проблемой для телефонов Vivo и MI. Я перепробовал все, что описано в этой ветке. Я пробовал подключаться как MTP, PTP; Но ничего не вышло.

После многих попыток я нашел решение для своего случая, и, возможно, оно может помочь и другим.

  1. Открыть окно терминала в Android Studio
  2. Убейте сервер ADB, используя следующую команду: adb kill-server
  3. Перезагрузите сервер ADB, используя следующую команду: adb start-server

Это решило мою проблему.

Dhaval
источник
спасибо спасло мой день .. он всегда показывает 24213213 [null], но после ваших манипуляций теперь показывает Samsung Galaxy ...
waza123
4

Отключение и повторное включение отладки при подключенном устройстве помогло мне.

Дражен Беловук
источник
4

У меня такая же проблема.

Я решил это, открыв настройки устройства Android, затем выбрав «Выключить», а затем «Включить» для отладки по USB.

CenyGG
источник
4

У меня такая же проблема. Я решил это, выполнив

  1. Android -> SDk -> инструмент платформы

2. открыть терминал (пользователь ubuntu) или открыть cmd (пользователь окна)

3. введите команду "sudo adb kill-server"

4. Зайдите в студию Android, затем снова подключите устройство.

ДЕВЕНДРА СИНГХ
источник
1

На ubuntu установка adb у меня сработала, я думаю, что была какая-то проблема с Android Studio по умолчанию.

В терминале используйте команду

sudo apt install adb 
Манохар Редди
источник
0

Иногда в Linux (в моем случае - Centos 6) причина может заключаться в том, что вы не запускали Android Studio как пользователь root. перезапустите студию Android от имени пользователя root и попробуйте!

Абдул Мохсин
источник
2
Это ужасная идея. Никогда не запускайте пользовательское приложение с правами root!
agilob
0

Для машины ubuntu выберите вариант передачи, и устройство будет обнаружено в студии Android, а также для отладки. Обычно устройство находится в состоянии зарядки для Windows, но для Ubuntu это работает именно так.

Также часто устройство не определяется, повторите то же самое.

Праяг
источник
0

Нужен режим MTP, но он не подходит под USB. В настройке хранилища в пункте меню вы можете установить тип подключения к ПК как ... MTP.

Марк Дикон
источник
0

проверьте запущенные процессы, у меня было несколько запущенных процессов adb, и я думаю, что это меня напортачило. Убейте их всех и перезапустите Studio. HTC Sync Manager, GenyMotion и т. Д. И, возможно, когда у вас открыто несколько окон Android Studio, может привести к нескольким конфликтующим процессам adb.

hmac
источник
0

Особенно на Ubuntu или любой другой платформе. Пожалуйста и проверьте свою версию adb. Я не могу этого особо подчеркнуть. убедитесь, что она обновлена ​​или самая последняя версия, особенно если приведенные выше ответы не работают, и эта ссылка также не работает.

После обновления папки инструментов платформы, расположенной по адресу

PATH_TO/Android/Sdk/platform-tools

который также содержит adbего сработало. Я побежал
adb devices

сначала он покажет неавторизованный, затем

вы отключаете и снова подключаете устройство Android. Тогда ваш телефон запросит разрешение, прежде чем система прочитает ваше устройство.

загораться
источник
0

В моем случае я просто посмотрел на телефон и установил всплывающий флажок, разрешающий отладку по USB.

Лео
источник
-1

Зайдите в терминал в студии Android и запустите «adb devices». Он покажет подключенные устройства. Затем запустите приложение, и устройство должно появиться.

ВИВЕК ЧУДХАРЫ
источник