Блог программиста
не только о программировании

Дружественные ресурсы:

IntSystem.org | Веб-разработка, все о ней

DevOps-заметки |

28.03.2016

Настройка ADB в Linux

adb+linux

Небольшой мануал для тех, кто хочет подготовить свою linux-машину для работы с ADB. Почему небольшой? Потому что настройка будет намного более простой, чем в Windows. Не нужно скачивать дополнительные драйвера, все что Вам потребуется это компьютер и устройство, подключенное по USB к компьютеру. Подробности под катом.

Режим разработчика

Для начала необходимо активировать отладку по USB в режиме разработчика на Вашем android-устройстве. Делается это через настройки. Как правило пункт меню находится в разделе System, если его нет – значит он скрыт.

developer_options

Смотрите как активировать его для вашего устройства, но как правило необходимо несколько раз тапнуть по названию прошивки устройства в свойствах, пока режим разработчика не станет доступен.

enable_usb_debug

После чего заходим в него и активируем отладку по USB. На этом настройка устройства закончилась.

usb_debug

Настройка ADB

Открываем терминал, заходим из под root. Далее необходимо установить ADB на компьютер. Делается это следующими командами:

add-apt-repository universe
apt-get update
apt-get install android-tools-adb android-tools-fastboot

ADB установлен в систему. Теперь необходимо разрешить пользователю системы работать с устройством. Для этого необходимо настроить udev. Разделение устройств происходит по параметру VID (Vendor ID). Они имеются у каждого устройства, подключенного по USB. Чтобы их узнать, запустите в терминале lsusb, затем подключите устройство к компьютеру и запустите lsusb снова.

root@vpc:~# lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp.
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 09da:9090 A4 Tech Co., Ltd XL-750BK Laser Mouse
Bus 001 Device 002: ID 046e:550f Behavior Tech. Computer Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@vpc:~# lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp.
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 17ef:75b0 Lenovo
Bus 001 Device 003: ID 09da:9090 A4 Tech Co., Ltd XL-750BK Laser Mouse
Bus 001 Device 002: ID 046e:550f Behavior Tech. Computer Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Найдите отличия между выводом – это и будет ваше android-устройство. Значение ID x:y где x – VID. Параметры указаны в шестнадцатеричной системе счисления. Запоминаем это значение. По нему и будет даваться доступ к устройству для пользователя. Запускаем текстовый редактор из консоли с созданием нового файла:

gedit /etc/udev/rules.d/51-android.rules

Вместо gedit подставьте свой текстовый редактор. Добавляем строчку:

SUBSYSTEM=="usb", SYSFS{idVendor}=="vid", MODE="0666", OWNER="username"

Вместо vid подставляем свое значение, вместо username – имя текущего пользователя (под которым создана сессия). Сохраняем файл, закрываем редактор. Перезапускаем сервис udev

service udev restart

Проверка

При подключенном устройстве запускаем команду adb devices. Если настройка правильная, Вы увидите список доступных устройств:

root@vpc:~# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
Medfield0D975C46 device

Если в списке устройств ничего нет, проверьте внимательно каждый шаг настройки. Возможно откючена отладка по USB на устройстве (при подключении ADB к устройству необходимо на самом устройстве разрешить подключения для этого компьютера).

До новых встреч!