如何获取其他应用程序的日志?

时间:2016-07-15 01:46:29

标签: java android android-logcat android-log

我想从其他应用中读取日志并过滤它们,以便在记录某个关键字时,我的应用程序将执行某项任务。

我找到了几种读取日志的方法,但从我的测试中我只能得到我的应用程序日志。

这是我最初尝试使用的方法

try {
  Process process = Runtime.getRuntime().exec("logcat -d");
  BufferedReader bufferedReader = new BufferedReader(
  new InputStreamReader(process.getInputStream()));

  StringBuilder log=new StringBuilder();
  String line = "";
  while ((line = bufferedReader.readLine()) != null) {
    log.append(line);
  }
  TextView tv = (TextView)findViewById(R.id.textView1);
  tv.setText(log.toString());
  } 
catch (IOException e) {}

但它似乎只能读取我的应用程序的日志。

1 个答案:

答案 0 :(得分:4)

如果设备已植根,则只能读取所有应用的日志。

如果您想阅读有根设备的日志,那么this可以为您提供帮助。但是,您必须将targetSdk设置为16。