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

How to get logs of other apps?

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

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

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

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) {}

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

如果设备已root,您只能读取所有应用程序的日志。

如果您想阅读已获得 root 权限的设备的日志,那么 this 应该可以帮到您。但是,您必须将 targetSdk 设置为 16。