如何获取其他应用的日志?
Posted
技术标签:
【中文标题】如何获取其他应用的日志?【英文标题】:How to get logs of other apps? 【发布时间】:2016-11-18 02:35:17 【问题描述】:我想从其他应用程序读取日志并对其进行过滤,以便在记录某个关键字时,我的应用程序将执行某个任务。
我找到了几种读取日志的方法,但从我的测试中我只能得到我的应用程序日志。
这是我最初尝试使用的方法
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】:只有设备root后才能读取所有应用的日志。
如果您想阅读已root设备的日志,那么this 应该可以帮助您。但是,您必须将 targetSdk
设置为 16。
【讨论】:
你有那个代码吗?这就是我要找的。span> 我不确定您是否完全理解 root 设备的含义。请阅读this。 我很清楚什么是根设备。我只让我的应用程序根不是问题。我只是要求您的代码读取已root设备上的系统日志。 很抱歉让您误会了。请检查编辑@Rosenpin。以上是关于如何获取其他应用的日志?的主要内容,如果未能解决你的问题,请参考以下文章