как контролировать андроид adb logcat и делать grep? - PullRequest
1 голос
/ 09 мая 2011

У меня есть приложение, которое может распечатать некоторые журналы в системе журналов Android, в нем есть несколько ключевых слов, которые я хочу отслеживать, чего я хочу добиться:

Мониторинг вывода "adb logcat". Если новая строка содержит ключевое слово, выведите новую строку.

Это что-то вроде adb logcat | grep "команда", но, как вы знаете, adb logcat будет блокировать там, так что мой grep не видит никаких входных данных. Это возможно с помощью простого сценария оболочки?

Ответы [ 3 ]

4 голосов
/ 09 мая 2011

Если вы посмотрите на http://developer.android.com/guide/developing/tools/adb.html, в разделе, озаглавленном Фильтрация вывода журнала , это описывает собственные возможности фильтрации adb. Это, вероятно, будет работать для вас. Вы можете указать конкретный тег в своих отчетах (который, по сути, будет тем, что вы бы отправили на bash), а затем просто отфильтровать эти теги. Например:

android.util.Log.v("filter1","<this is my log statement>");

будет кодом, и тогда вы сделаете

adb logcat filter1:V

для фильтрации этого вывода.

РЕДАКТИРОВАТЬ: вы всегда можете использовать это для дампа в файл, а затем запустить bash для этого.

0 голосов
/ 19 мая 2015

Чтобы просмотреть logcat для определенного процесса:

 adb logcat | grep <process_id>

Чтобы просмотреть logcat для определенного процесса с именем тега:

 adb logcat | grep <process_id> | grep -s "TAG NAME"

|     acts as a seperator for combining different queries.
0 голосов
/ 16 августа 2013

Вы можете попробовать следующим образом

log_1=$(adb shell dumpsys meminfo com.azoi.azoitv | grep Views:) 
echo $log_1

Если вы хотите выполнять в непрерывном цикле, вы можете попробовать это:

while :
do
    log_1=$(adb shell dumpsys meminfo com.azoi.azoitv | grep Views:)
    echo  $log_1
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...