java - 如何从Java程序获取android系统日志

标签 java android logging

有谁知道如何使用 Java 以编程方式获取 android 设备系统日志?这类似于 Dalvik 调试监视器下方面板上提供的内容。

提前致谢。

最佳答案

未经“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[]{};
    }
}

关于java - 如何从Java程序获取android系统日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561958/

相关文章:

java - 如何读取Maven应用程序的webapp文件夹中的目录

android - React Native Image uri 不起作用

android - 从 Activity Kotlin 中获取额外的字符串

python - 使用来自多个模块的 python 日志记录写入文件和 RotatingFileHandler

asp.net-mvc - 为什么 log4net 不记录 nhibernate 信息

java - 如果在模式结束之前发现某些内容,我如何跳过/取消匹配的正则表达式?

java - 反射性地检查对象是否是方法的有效泛型参数

Java Swing 动画看起来不稳定。如何让它看起来专业?

android - 使用端口转发从桌面本地主机调试 Chrome Android App 中的网页

java - 如何在日志文件log4j中只写入INFO日志?