АБР нужен рут после обновления до Android 5.1.1

Я собираю Android из исходного кода, чтобы установить пользовательскую файловую систему моей компании (Datalight Reliance Nitro). Я использую Ubuntu 12.04 PC в качестве хост-устройства и Nexus 7 (flo) в качестве Android-устройства. Я следовал инструкциям по настройке хост-системы, включая настройку файла /etc/udev/rules.d/51-android.rules.

Я собирал Android 4.4.3, и ADB работал нормально, как и ожидалось. (Нет необходимости в привилегиях sudo.)

Однако, когда я собрал и установил Android 5.1.1, внезапно ADB жалуется:

$ adb devices
List of devices attached 
????????????    no permissions

Я попробовал несколько других модов в моем файле 51-android.rules, но безуспешно. Следуя инструкциям CyanogenMod по этой теме, я наконец запустил сервер ADB на sudo, и это сработало. Но мне интересно, почему. Как версия Android может повлиять на привилегии, необходимые ADB? Или я вообще что-то упускаю из виду?

1 ответ

Вам нужно добавить свой идентификатор устройства в правила. Подключите ваше устройство через USB. Делать lsusb и искать ваше устройство. Вы получите что-то вроде

Bus 003 Device 048: ID 18d1:4ee7 Google Inc. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Затем добавьте строку в /etc/udev/rules.d/51-android.rules, аналогичную другим, но с idVendor (в этом примере '18d1') и idProduct (здесь '4ee7')

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0600", OWNER="{same as others}"

затем

sudo udevadm control --reload-rules
Другие вопросы по тегам