
Я новичок в Android. Я только что скачал и установил Android SDK. Теперь, когда я запускаю приложение из Eclipse, мое устройство не обнаруживается. Я погуглил и мне выдали это как решение, но это тоже не сработало.
Вот 51-android.rules
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
Помогите мне, пожалуйста. Спасибо.
решение1
Хорошо, вот все шаги, чтобы это заработало. У меня были проблемы со всеми ответами, которые я нашел в сети, кусочки и отрывки повсюду без определенного порядка и единого рабочего решения (работает Android Studio, Jmonkey 3D и Ubuntu 14.04)
Еслиустройства adbпоказывает устройство Android как?????????(нет разрешений) следуйте этим инструкциям:
создать файл/etc/udev/rules.d/51-android.rules
sudo gedit /etc/udev/rules.d/51-android.rules
Скопируйте и вставьте содержимое ниже:
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"
Чтобы изменить права доступа к файлу, выполните следующую команду:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
подключите телефон через USB и выполните следующую команду:
lsusb
Найдите свое устройство(а). Пример (Nexus 5):
Шина 003 Устройство 074: ID18д1:4ee7 Google Inc.
ДляНексус 5, идентификатор поставщика18д1, мой на автобусе "003«Если вы не видите изменений при подключении устройства кlsusb, возможно, ваш USB-кабель предназначен только для зарядки.
Теперь перезагрузите правила с помощью следующих команд:
sudo udevadm control --reload-rules sudo service udev restart sudo udevadm trigger
Убедитесь, что устройство теперь позволяет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
Бегатьустройства adbчтобы подтвердить правильность разрешений и наслаждаться!
Примечание:если вы еще не создалиplugdevгруппа идобавил ваше имя пользователяк нему (если разрешение отклонено, добавьте «sudo» к следующим командам):
Добавить группу plugdev:
groupadd plugdev
Добавьте свойимя пользователякplugdevгруппа (useradd -G {имя-группы} имя-пользователя):
useradd -G plugdev billy
Перезапустите udev (возможно, вам придется выйти из системы и снова войти в нее, чтобы обновить группу пользователей):
sudo service udev restart
решение2
Вам нужно изменить 2 вещи:
Измените первый «ATTR{idProduct}» на «ATTR{idVendor}» в файле 51-android.rules.
Выполните эти команды из терминала:
sudo ./adb kill-server sudo ./adb start-server sudo ./adb devices
решение3
Попробуйте group 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. Он не установил владельца на crazydeveloper по какой-то причине, но это не так важно.
Убедитесь, что вы являетесь членом группы plugdev. Используйте эту команду:
sudo useradd -G plugdev crazydeveloper
Затем выйдите из системы, отсоедините мобильный телефон, войдите снова, подключите его и попробуйте adb devices
снова. Дайте ему знать, что происходит.
решение4
На моем Android-устройстве была включена отладка по USB, которая, как мне показалось, была проблемой, поэтому я перешел в настройки разработчика и отключил ее. Затем я снова подключил USB-кабель, после чего появилось окно, в котором я мог включить USB-накопитель. Это позволило моей Ubuntu 14.04 обнаружить Android-устройство. Я не знаю, есть ли эта настройка на всех устройствах, но она исправила мою проблему, тогда как я перепробовал все остальные методы. Спасибо