Здравствуй дорогой мой читатель! В данной статье я расскажу, как же в Ubuntu избавиться от ошибки «???????? no permissions» при попытки доступа к своему Android устройству через ADB.

Иногда, при попытке подключения к смартфону посредством android debug bridge возникат проблема с доступом. Не со всеми устройствами так происходит, но «плохое случается». На самом деле тут нет ничего плохого или какой либо глобальной проблемы. Данная нехватка прав лечиться элементарным заполнением файла правил udev необходимой строкой.

Для начала выясним значения idVendor и idProduct для нашего устройства выполнив в терменале следующую команду:

lsusb

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

Bus 001 Device 003: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 005: ID 0bb4:0c86 HTC (High Tech Computer Corp.) Sensation
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 09da:054f A4 Tech Co., Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Я специально выделил строку с HTC — у меня смартфон этой фирмы, у тебя, разумеется будет другой производитель (а может и тот-же) — это не важно, главное мы распознали в списке свой Android:

Bus 001 Device 005: ID 0bb4:0c86 HTC (High Tech Computer Corp.) Sensation

В данной строке нас интересуют следующие параметры:

Bus 001 Device 005: ID 0bb4:0c86 HTC (High Tech Computer Corp.) Sensation

0bb4:0c86

Первое значение — это idVendor, второе — idProduct

Итак, теперь у нас есть все необходимые сведения. Создаем файл /etc/udev/rules.d/51-android.rules (потребуются права root), например так:

sudo touch /etc/udev/rules.d/51-android.rules

Далее записываем в него следующую строку:

SUBSYSTEMS==»usb», ATTRS{idVendor}==»0bb4«, ATTRS{idProduct} ==»0c86«, MODE=»0666″, OWNER=»имя_пользователя»

Обрати внимание, что выделенные красным места необходимо заменить на твои значения:
0bb4 — idVendor
0c86 — idProduct
имя_пользователя — соответственно, имя пользователя в системе

Сделать запись в файл /etc/udev/rules.d/51-android.rules можно через консольный текстовый редактор nano:

sudo nano /etc/udev/rules.d/51-android.rules

Примечание: В терминале для вставки текста нужно использовать не привычный CTRL+V, а SHIFT+INSERT. Чтобы сохранить текст в nano — CTRL+O -> Enter, чтобы выйти из редактора — CTRL+X

Еще можно воспользоваться командой echo:

sudo echo "SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"youVendorid\", ATTRS{idProduct} ==\"youProductid\", MODE=\"0666\", OWNER=\"user\"" > /etc/udev/rules.d/51-android.rules

После добавления данной строки в файл и его сохранения необходимо выполнить команду:

sudo /etc/init.d/udev reload

После чего отсоедени USB кабель от Android устройства и снова подключи. Не забудь включить на android отладку по USB, чтобы нормально пользоваться функциями ADB.

Если после подключения устройство все-равно не определяется — просто перезагрузи Android.