Как получить журнал системы Android из программы Java - PullRequest
3 голосов
/ 25 августа 2010

Кто-нибудь знает, как получить программный журнал устройства Android с помощью Java?Это будет похоже на то, что доступно на нижней панели монитора отладки Dalvik.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 25 августа 2010

Не тестировал с 'adb shell logcat', но я использовал это для получения других вещей через adb:

public static String[] getAdbLogCat() {

    try {
        Process p = Runtime.getRuntime().exec("/path/to/adb shell logcat");
        InputStream is = p.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);

        final StringBuffer output = new StringBuffer();
        String line;
        ArrayList<String> arrList = new ArrayList<String>();
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
        return (String[])arrList.toArray(new String[0]);
    } catch (IOException e) {
        System.err.println(e);
        e.printStackTrace();
        return new String[]{};
    }
}
0 голосов
/ 23 августа 2018

Я начал с ответа Матиаса Конрадта выше.Это не сработало для меня, но, поработав с ним долгое время, я выяснил, какие настройки ему нужны для правильной работы.Это будет работатьОн не требует root-доступа, специальных разрешений или чего-либо еще.

private static String getAdbLogCat()
{
    String log = "";
    String str;
    try
    {
        String myStringArray[]= {"logcat", "-d"};
        Process process = Runtime.getRuntime().exec(myStringArray);
        InputStream is = process.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        str = br.readLine();
        while (str != null)
        {
            log += str;
            str = br.readLine();
        }
    }
    catch (IOException e)
    {
    }
    return log;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...