如何获取其他应用程序的日志?
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。
我想从其他应用程序读取日志并过滤它们,以便在记录特定关键字时,我的应用程序将执行特定任务。
我找到了几种读取日志的方法,但从我的测试来看,我只能获取我的应用程序日志。
这是我最初尝试使用的方法
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。