Logcat не работает при подключении к моделируемому USB-аксессуару
Разрабатываемое мной приложение подключается к USB-аксессуару, который я моделирую на том же компьютере, который использую для программирования / отладки.
Проблема в том, что всякий раз, когда планшет переходит в режим аксессуаров, я не могу подключиться к Logcat через USB (имя планшета в adb меняется на number-Id)
Я могу подключиться к нему через WiFi, но всякий раз, когда я повторно подключаю планшет (например, для сброса режима USB-аксессуаров), соединение ADB сбрасывается обратно на USB.
Я знаю, что Logcat работает по USB в режиме аксессуаров. Я просто не могу понять, почему это не работает для меня.
Я следовал инструкциям по установке для adt-bundle; попытался переустановить; пробовал с Android Studio.
Есть идеи?
1 ответ
Я нашел решение для моей проблемы. Перезапустив сервер adb с помощью sudo, я смог получить сообщения Logcat от устройства, когда оно подключено к моему смоделированному USB-аксессуару.
sudo ./adb kill-server
sudo ./adb start-server
sudo ./adb devices
Благодаря ответу Леона здесь.
Если вы не хотите использовать sudo, я обнаружил, что работает следующее решение:
Создайте файл с именем /tmp/android.rules со следующим содержимым (шестнадцатеричные номера поставщиков взяты со страницы списка поставщиков):
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
Запустите следующие команды:
sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644 /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb
Отсоедините USB-кабель между устройством и компьютером.
Переподключите телефон.
Запустите устройства adb, чтобы подтвердить, что теперь у него есть разрешение на доступ к телефону.
Взято отсюда.