Android Studio розпізнає фізичний пристрій як нульовий?


89

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

Пристрій має значення Null

Цікаво те, що, як показано на малюнку вище, 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

3
У мене це питання було раніше. Просто планшет не розпізнається як такий на вашому ПК і тому не дає користувачеві дозволу на його використання. Ви можете запустити службу adb як root (на вашому комп'ютері), або просто додати цей тип пристрою десь у своїх рулонах udev. Тоді це повинно працювати без обману камери. Якщо ви змінюєте режим камери, ваш пристрій просто представляється з іншим ідентифікатором пристрою / продукту, відомим вашій системі.
user3387542 07

@ user3387542, але як додати цей тип пристрою до мого udev?
АбдельХаді

Ого. Дуже тобі дякую. Я витратив на це години. і остаточне рішення для мене - запустити android studio як / root користувач. тому що я використовую centos OS
Абдул Мохсін

Відповіді:


161

Добре Отже, нарешті, я знайшов проблему, мабуть, на цьому пристрої вам потрібно встановити підключення як камеру (навіть після того, як налагодження usb вже увімкнено)

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

Також це посилання описує процес налаштування


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-пристрої не працюють для тебе
Rashil Shah

це працює для мене. 1) пристрої adb 2) Налаштування -> Підключені пристрої -> USB -> Змінити на «Передача файлів»
amitabha2715

17

На Ubuntu, з моїм Pixel XL на 8.0, мені довелося зробити це, підключившись до комп’ютера:

Налаштування -> Підключені пристрої -> USB -> Змінити на «Передача файлів»


налаштування чого?
arekolek

Налаштування телефону
RESTfulGeoffrey

Я виявив, що мій Pixel перемикається на нульовий через деякий час підключення. Я продовжував перезавантажувати пристрій, але траплялося те саме. Це іноді це виправляє, але лише тимчасово, дивно ...
hmac

це працює для мене. 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/


6

Натрапив на ту ж проблему під час використання Android Studio на Ubuntu. Очевидно, для мене виправлення полягало в тому, щоб встановити режим підключення USB для пристрою як MTP .


6

Спочатку перевірте версію adb: якщо вона надає Output like

Android Debug Bridge version 1.0.32

Потім просто перезапустіть демон.

sudo adb kill-server
sudo adb start-server

в іншому випадку спочатку встановіть adb і перезапустіть демон, який працював для мене, в ubuntu 16.04.3


5

Нещодавно я стикався з тією ж проблемою для телефонів Vivo та MI. Я спробував усе, що описано в цій темі. Я спробував підключитися як MTP, PTP; Але нічого не вийшло.

Після багатьох спроб я знайшов рішення для своєї справи, і, можливо, воно може допомогти іншим.

  1. Відкрийте вікно терміналу в Android Studio
  2. Вбийте сервер ADB, використовуючи таку команду: adb kill-server
  3. Перезапустіть сервер ADB, використовуючи таку команду: adb start-server

Це вирішило моє питання.


спасибі врятував мій день .. він завжди показує 24213213 [null], але після вашої маніпуляції зараз він показує Samsung Galaxy ...
waza123

4

Вимкнення та повторне увімкнення налагодження під час підключення пристрою зробило для мене фокус.


4

У мене була та сама проблема.

Я вирішив це, відкривши Налаштування мого пристрою Android, потім вибравши "Вимкнути", а потім "Увімкнути" для налагодження USB.


4

У мене була та сама проблема. Я вирішив це дією

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

2. Відкрийте термінал для (користувач ubuntu) або відкрийте cmd (користувач вікна)

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

4. Перейдіть до android studio, а потім знову підключіть пристрій.


1

На встановленні ubuntu adb працював у мене, я думаю, що була якась проблема за замовчуванням для android studio.

У терміналі використовуйте команду

sudo apt install adb 

0

Іноді в Linux (у моєму випадку Centos 6) причиною може бути те, що ви не запустили Android Studio як кореневий користувач. будь ласка, перезапустіть android studio як кореневий користувач і спробуйте!


2
Це жахлива ідея. Ніколи не запускайте додаток userland як root!
agilob

0

Для машини ubuntu виберіть варіант передачі, і пристрій буде виявлено в андроїд-студії, а також для налагодження. Як правило, пристрій перебуває у стані зарядки для Windows, але для ubuntu це саме так.

Також багато разів пристрій не виявляється, повторіть те ж саме ще раз.


0

Потрібний режим MTP, але він не виходить під USB. У налаштуваннях зберігання в пункті рядка меню ви можете встановити тип підключення до ПК як ... MTP.


0

Перевірте запущені процеси, у мене було запущено кілька процесів adb, і я думаю, що це все для мене зіпсувало. Вбийте їх усіх, а потім перезапустіть Studio. Менеджер синхронізації HTC, GenyMotion тощо, і, можливо, коли у вас відкрито кілька вікон Android Studio, можуть виникати різні конфліктні процеси adb.


0

Особливо на Ubuntu або будь-якій іншій платформі. Будь ласка, будь ласка, перевірте свою версію adb. Я не можу наголосити на цьому досить. переконайтеся, що вона оновлена ​​або остання версія, особливо якщо наведені вище відповіді не працюють, і це посилання також не працює.

Після того, як я оновив папку інструментів платформи, розташовану за адресою

PATH_TO/Android/Sdk/platform-tools

який також містить adbце працювало. Я побіг
adb devices

спочатку це буде показувати несанкціонований тоді

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


0

У моєму випадку просто перегляд мого телефону та встановлення прапорця, що з’являється, щоб дозволити налагодження USB зробили для мене роботу.


-1

Перейдіть до терміналу в андроїд-студії та запустіть "пристрої adb". Він покаже підключені пристрої. Потім запустіть програму, і пристрій повинен з’явитися.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.