пятница, 9 марта 2012 г.

Android, adb и "???????????? no permissions"

Если утилита adb на запрос adb devices выдала "???????????? no permissions", необходимо правильно настроить права при создании.

Смотрим lsusb на предмет Вашего андроида, в моем случае это был:

Bus 002 Device 006: ID 12d1:1038 Huawei Technologies Co., Ltd.

Добавляем файлик /etc/udev/rules.d/51-android.rules со следующим содержанием (со своими значениями ID и пользователя).


SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct} =="1038",
MODE="0666", OWNER="_пользователь_"


Затем /etc/init.d/udev reload. Переподключаем смарт.

и снова смотрим вывод adb devices

устройство должно опознаться и вывести что-то вроде:

4CA94Dxxxxx device

Еще бывает уже при настроенной udev "отказ", тогда помогает

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

13 комментариев:

  1. Спасибо за информацию. Тоже Huawei и тоже помогло!

    ОтветитьУдалить
  2. а ка узнать ИД и пользователя?

    ОтветитьУдалить
    Ответы
    1. Id ищем в выводе команды lsusb - среди многообразия строк будет упоминаться ваш телефон - в самом начале этой заметки как раз и приведен пример.

      А "пользователь" - это тот, под которым вы входите в систему. Т.е. это по сути имя пользователя.

      Удалить
    2. Может глупый вопрос, но я ведь не ввожу при включении телефона никаоке имя пользователя. Или имеется ввиду имя пользователя моего аккаунта в Google?

      Удалить
  3. Спасибо, с LG помогло тоже

    ОтветитьУдалить
  4. Благодарю! и даже с fly помогло

    ОтветитьУдалить
  5. Спасибо! И даже с Ubuntu помогло... xD
    Просто, я так понял проблема не в устройстве, а в операционной системе, которая не дает доступа к нему.

    ОтветитьУдалить
    Ответы
    1. Да, Вы абсолютно правы, дело именно в ОС. Можно было и не настраивать udev, а сделать нужные права "вручную", но так придется делать каждый раз при подключении.

      Удалить
  6. DNS AirTab M975w
    lsusb: Bus 001 Device 015: ID 2207:0010
    /etc/udev/rules.d/51-android.rules >>
    SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTRS{idProduct} =="0010", MODE="0666", GROUP="plugdev"

    ~/.android/adb_usb.ini >>
    0x2207

    Спасибо, определился

    ОтветитьУдалить
  7. Lenovo p780 - сработало. Спасибо! )

    ОтветитьУдалить
  8. Prestigio
    #1782:5d24
    SUBSYSTEM=="usb", SYSFS{idVendor}=="1782", ATTRS{idProduct} =="5d24",
    MODE="0666", OWNER="username"

    ОтветитьУдалить