Ubuntu не обнаруживает мое устройство Android
Я новичок в 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
Пожалуйста, помогите мне. Благодарю.
8 ответов
Хорошо, вот все шаги, чтобы заставить это работать. У меня были проблемы со всеми ответами, которые я нашел в Интернете, кусочками везде без какого-либо определенного порядка и без единого рабочего решения (под управлением 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
Вы должны изменить 2 вещи:
Измените первый "ATTR{idProduct}" на "ATTR{idVendor}" в файле 51-android.rules.
Запустите эти команды из терминала:
sudo ./adb kill-server sudo ./adb start-server sudo ./adb devices
Попробуй группу 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
снова. Пусть это знать, что происходит.
Возможно, это тривиальная ошибка, как я вижу в 51-android.rules, вы удвоили параметр idProduct, а idVendor нет, попробуйте просто переименовать.
На моем устройстве Android была отладка по USB, что казалось проблемой, поэтому я зашел в настройки разработчика и выключил его. Я подключил USB-кабель, а затем появилось окно, которое позволило мне включить USB-накопитель. Это заставило мою Ubuntu 14.04 обнаружить устройство Android. Я не знаю, есть ли на всех устройствах эта настройка, но она исправила мою проблему, тогда как я попробовал все другие методы. Спасибо
У меня была такая же проблема с моим устройством 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 было обнаружено.
Попробовав каждое из потенциальных решений, описанных выше и в других обсуждениях на других форумах, я обнаружил, что причина, по которой мой HOX решил больше не общаться с моим ноутбуком (14.04), была более простой, механической. Провод USB к разъему micro USB телефона был неисправен. При использовании свинцовой опоры, которая всегда казалась более жесткой и менее вероятной, чем дженерик, купленный в AsDa, нормальное обслуживание было возобновлено.
Затем был использован цифровой мультиметр, чтобы показать, как именно возникло такое положение вещей: сопротивление цепи питания +5 В в этом проводе увеличилось до уровня, при котором он считывался почти открытым. Значение R для o / e, прядь HTC с пометкой +5 В отводящего провода была лишь немного более резистивной, чем мертвый шорт, и не особенно хорошо работала или работала над микро-USB. Нет, я не могу понять, как это повлияло Передача данных также может предполагать, что шина питания на плате ввода / вывода на одном или обоих устройствах также использует +5 В часть одного или обоих разъемов для передачи данных.
Что я узнал здесь: сначала проверьте более простые вещи, прежде чем вырвать свои волосы, не получая никуда с установленным программным обеспечением, все из которых были восстановлены, как это было до того, как ошибка впервые проявилась!
HTC - 1, поставщик кабелей для Ассоциированных молочных заводов - 0.
Это должно быть так:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"