Search code examples
javaandroidandroid-logcatandroid-log

How to get logs of other apps?


I want to read logs from other apps and filter them so when a certain keyword is being logged, my application will perform a certain task.

I found several methods of reading logs, but from my testing I could only get my application logs.

This is the method I originally tried to use

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

But it seems like it only reads the logs of my app.


Solution

  • You can only read the logs of all apps if the device is rooted.

    If you want to read logs of rooted devices, then this should help you. However, you will have to set the targetSdk to 16.