android:如果没有PC连接,读取LogCat是行不通的

时间:2012-04-20 10:07:22

标签: android android-logcat

我对我的应用程序的bahaviour感到很困惑。当我的移动设备连接到eclipse并且我的服务正在读取logcat的每一行以查找子字符串时 - 一切正常。当我断开手机与PC的连接时," logcat读取代码"不起作用。

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

    while ((line = bufferedReader.readLine()) != null) {
        if (line.indexOf("some string") > 0)...

我下载了一些logcat应用程序,它们能够显示与eclipse完全相同的logCat行。你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

你什么都不说,也许你这么做。但是,您是否在Manifest中添加了 android.permission.READ_LOGS 权限?

<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

答案 1 :(得分:0)

好的,我失去了5个小时的生命。看起来就像当logfile导出到PC时,android会添加一些最初未包含的附加信息(例如时间+标签......)。如果(line.length()&gt; = 120)我有第二个条件,如果移动设备与PC连接(由于额外的inf而线路较长),则为真,并且当移动设备未连接时为假!

问题在于无法通过debuging找到这个bug :(