Я знаю, что устройства Android имеют встроенный сервер adb. Я могу запустить сервер через эмулятор терминала и выполнить команды adb, но само устройство не отображается в списке устройств. Конечная цель состоит в том, чтобы захватить логарифм и сохранить его локально, так как у меня возникают проблемы со сбоем, которые не возникают, когда он подключен, поэтому мне нужно захватить логарифм без подключения к USB.
Я хочу в конечном итоге иметь возможность запускать $ adb logcat -v time > /sdcard/logcat.txt
и создавать текстовый файл logcat, который я могу получить и просмотреть в следующий раз, когда устройство выйдет из строя.
Я использую Jelly Bean 4.1.2
РЕДАКТИРОВАТЬ
Мне удалось найти решение моей конкретной проблемы:
Локально adb не требуется для сбора logcat. Изнутри эмулятора терминала вы можете просто выполнить команду, logcat > /sdcard/logcat.txt
чтобы собрать logcat. Тем не менее, я оставлю этот вопрос на случай, если кто-то найдет способ заставить adb распознавать себя, так как это может быть полезно в будущем.
Я не думаю, что вы можете получить доступ к устройству напрямую из ADB на устройстве. но вы можете получить доступ к logcat, если вам нужно в /dev/log/
.
Почти все, к чему вам нужно получить доступ через adb, должно быть так или иначе доступно непосредственно на устройстве.
Например adb получает скриншоты от чтения/dev/graphics/fb0
Я пробовал несколько раз и так и не нашел способа, чтобы встроенный клиент adb распознал себя.
Я думаю, это связано с тем, что он проверяет его на USB и т. Д. - Однако я могу ошибаться.
Однако можно с уверенностью сказать, что клиент ADB в Android не может распознать свой сервер — извините!
Лучше всего попробовать загрузить aLogCat из магазина Google Play.
В меню «Настройки» > «Периодическое сохранение» в том же приложении есть параметр, который можно установить, который активирует частоту периодического сохранения, которое сохраняется на SDCard.
Это должно несколько облегчить получение журнала без необходимости подключать его через USB.
Джаред Берроуз