работает logcat в фоновом режиме из ADB - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь отправить команду через adb на устройство Android, чтобы запустить запись logcat в файл на устройстве.для этого я запускаю команду:

adb shell "logcat > /sdcard/logcat.log"

пока все хорошо, но дело в том, что мне нужна команда для запуска в фоновом режиме,и не держать открытым соединение с ПК.Это означает, что если я отправляю команду и отсоединяю USB-кабель, я хочу, чтобы запись logcat продолжалась в фоновом режиме.если я выполню

$ adb shell

$ logcat> /sdcard/logcat.log &

, я могу безопасно отключить USB-кабель, изапись будет продолжаться.однако, если я выполняю команду извне оболочки следующим образом:

adb shell "logcat > /sdcard/logcat.log &"

, я получаю файл в /sdcard с именем logcat.log, который весит 0 байтов.после нескольких попыток я попытался поместить файл сценария с командой "logcat > /sdcard/logcat.log &" в / sdcard с именем /logcatScript.log и запустить его снаружи оболочки, используя

adb shell "sh / sdcard/logcatScript.log"

, но создается тот же 0-байтовый файл.

Устройство не имеет root-прав и не должно быть, поэтому busyBox не является опцией.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Лучший способ решить эту проблему - создать скрипт bash и вставить его в папку data / local / tmp. На большинстве устройств Android нет необходимости определять #! / System / bin / sh или #! / Bin/ bash в первой строке.Процедура:

1) Создайте файл с: logcat> /sdcard/logcat.txt &

2) adb push / data / local / tmp

3) adbshell chmod + x / data / local / tmp /

4) adb shell / data / local / tmp /

С уважением

0 голосов
/ 11 июня 2018

Я попробовал этот метод, и он работал на моем устройстве

  1. adb shell

  2. logcat -f sdcard / logcat.txt &

ИЛИ

adb shell logcat -f sdcard / logcat.txt &

Теперь вы можете удалить USB-кабель

...