Ubuntu не обнаруживает мое устройство Android


34

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

Вот вам 51-андроид.рулес

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

После этого я перезагрузил свой ноутбук и выполнил следующую команду:

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

Вывод, который я получаю:

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

РЕДАКТИРОВАТЬ

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:~$ 

Редактировать: 2

После предоставленного ответа вот вывод, который я получил:

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

Я использую Micromax Canvas 2.2 A114 - версия Android 4.2.2

Пожалуйста, помогите мне. Спасибо.


2
Включена ли отладка по USB на андроиде?
Джон Ханна

Да. он включен.
Саянский принц


1
Это должно быть SUBSYSTEM, единственное число.
Пакман

Ответы:


42

Хорошо, вот все шаги, чтобы заставить это работать. У меня были проблемы со всеми ответами, которые я нашел в Интернете, кусочками везде без какого-либо определенного порядка и без единого рабочего решения (под управлением Android Studio, Jmonkey 3D и Ubuntu 14.04)

Если ADB устройства показывает Android-устройство как ????????? (без разрешений) следуйте этим инструкциям:

  1. создать файл /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. скопируйте и вставьте содержимое ниже:

    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. Выполните следующую команду, чтобы изменить права доступа к файлу:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. подключите телефон через usb и выполните следующую команду:

    lsusb
    

    Найдите пример вашего устройства (Nexus 5):

    Шина 003 Устройство 074: ID 18d1 : 4ee7 Google Inc.

    Для Nexus 5 идентификатор поставщика равен 18d1 , у меня шина " 003 ". Если вы не видите изменений при подключении устройства с помощью lsusb , возможно, ваш USB-кабель предназначен только для зарядки.

  5. Теперь перезагрузите правила с помощью следующих команд:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Убедитесь, что устройство теперь разрешает доступ к группе пользователей plugdev

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

    Пример:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. Запустите устройства adb, чтобы подтвердить правильность разрешений и наслаждаться!

Примечание: если вы не создали группу plugdev и не добавили в нее свое имя пользователя (если в разрешении отказано, добавьте «sudo» следующие команды):

  1. Добавьте группу plugdev:

    groupadd plugdev
    
  2. Добавьте ваше имя пользователя в группу plugdev (useradd -G {имя-группы} имя пользователя):

    useradd -G plugdev billy
    
  3. Перезапустите udev (может потребоваться выйти из системы и снова войти в нее, чтобы обновить группу пользователей):

    sudo service udev restart
    

@EvanCarrol: лучше всего выполнить редактирование как шаг 0, прежде чем начать, а не посередине (извините за отклонение, но это делает ответ менее четким, а не более четким): /
Fabby

Этот ответ работает хорошо. После обновления до 15.10 я должен делать это после каждой перезагрузки. Работает потрясающе.
Мы Борг

Могу ли я назвать это сексуальным ответом ... ты сделал мой день, спасибо, приятель ...
Тушар Пандей,

5

Попробуйте группу, plugdevа не plugindev. Затем перезапустите udev:

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

Если это не сработает, выясните, где именно ваше устройство подключено к lsusb. Затем проверьте разрешения:

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

Тот факт, что lsusbдал нам:

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

означает, что ваш мобильный телефон подключен к шине 002 как устройство 004. Поэтому udev создал объект устройства /dev/bus/usb/002/004.

Пожалуйста, покажите нам разрешения устройства с помощью команды:

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

В качестве временного решения вы можете сделать устройство доступным для чтения / записи с помощью этой команды (убедитесь, что ваш телефон подключен):

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

Тогда попробуйте еще adb devicesраз.

Также я заметил, что в конце правила udev у вас есть OWNER="<username>". Вы действительно заменили это OWNER="crazydeveloper", не так ли?

Ваши разрешения вроде как в порядке. udev поднял устройство и установил для него права доступа 666, а группе - plugdev. По какой-то причине это не привело владельца к сумасшедшему разработчику, но это не так важно.

Убедитесь, что вы являетесь членом группы plugdev. Используйте эту команду:

sudo useradd -G plugdev crazydeveloper

Затем выйдите, отключите мобильный телефон, войдите снова, подключите его и попробуйте adb devicesснова. Пусть это знать, что происходит.


пожалуйста, посмотрите вопрос сейчас ..
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 ?Помог мне. Спасибо :): D
Яш Содха

Последовал твоему совету, но у меня это не сработало. Что сработало, так это переключение через параметры USB, предоставляемые устройством, попробуйте переключиться на PTP с MTP. Этот работал для меня.
Джордж D

4

Вы должны изменить 2 вещи:

  1. Измените первый «ATTR {idProduct}» на «ATTR {idVendor}» в файле 51-android.rules.

  2. Запустите эти команды из терминала:

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

3

Возможно, это тривиальная ошибка, как я вижу в 51-android.rules, вы удвоили параметр idProduct, а idVendor нет, попробуйте просто переименовать.


1

На моем устройстве Android была отладка по USB, что казалось проблемой, поэтому я зашел в настройки разработчика и выключил его. Я подключил USB-кабель, а затем появилось окно, которое позволило мне включить USB-накопитель. Это заставило мою Ubuntu 14.04 обнаружить устройство Android. Я не знаю, есть ли на всех устройствах эта настройка, но она исправила мою проблему, тогда как я попробовал все другие методы. Спасибо


0

У меня была такая же проблема с моим устройством Android (HTC one (M7)) в Ubuntu 14.04. Поэтому я перезагрузился в Windows 7.0. Нашел такую ​​же проблему и там. При поиске я нашел следующую ссылку. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

Я набрал * # 7284 #, как подсказал Джерри Энтони в этой ссылке. И это работало на Windows. Я перезагрузился на Ubuntu 14.04, и мое устройство Android было обнаружено.



0

Попробовав каждое из потенциальных решений, описанных выше и в других обсуждениях на других форумах, я обнаружил, что причина, по которой мой HOX решил больше не общаться с моим ноутбуком (14.04), была более простой, механической. Провод USB к разъему micro USB телефона был неисправен. При использовании свинцовой опоры, которая всегда казалась более жесткой и менее вероятной, чем дженерик, купленный в AsDa, нормальное обслуживание было возобновлено.

Затем был использован цифровой мультиметр, чтобы показать, как именно возникло такое положение вещей: сопротивление цепи питания +5 В в этом проводе увеличилось до уровня, при котором он считывался почти открытым. Значение R для O / E, прядь +5 В отведенного HTC-провода была лишь немного более резистивной, чем быстрая зазубрина, и не особенно хорошо работала или работала на микро-USB. Нет, я не мог понять, как это повлияло Передача данных также может предполагать, что шина питания на плате ввода / вывода на одном или обоих устройствах также использует +5 В часть одного или обоих разъемов для передачи данных.

Что я узнал здесь: сначала проверьте более простые вещи, прежде чем вырвать свои волосы, не получая никуда с установленным программным обеспечением, все из которых были восстановлены, как это было до того, как ошибка впервые проявилась!

HTC - 1, поставщик кабелей для Ассоциированных молочных заводов - 0.


-1

Это должно быть так:

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

Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любые посты .
Fabby

@Fabby Это выглядит попыткой ответить на вопрос для меня ..
Сет
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.