2013-11-21 196 views
0

我正在尝试获取命令“getprop | grep”的输出。获取“getprop | grep”shell命令的输出

这里是我的代码:

public static void propFinder(String Prop) { 
     try { 
       Process process = Runtime.getRuntime().exec("getprop | grep "+Prop); 
       BufferedReader bufferedReader = new BufferedReader(
       new InputStreamReader(process.getInputStream())); 

       StringBuilder log=new StringBuilder(); 
       String line; 
       while ((line = bufferedReader.readLine()) != null) { 
       log.append(line + "\n"); 
       } 
       Log.e(TAG,log.toString()); 
      } catch (IOException e) { 
      } 
    } 

我想找出显示有关特定道具的信息。例如,“init.svc.sdcard”。

下面是日志输出:

11-21 09:16:04.143: I/Choreographer(14514): Skipped 40 frames! The application may be doing too much work on its main thread. 
11-21 09:16:05.583: E/PropFinder(14514): grep 

忘了说了,如果我只发出getprop,我得到一个不错的输出,但它是不完整的。 谷歌搜索,使用发布我找到的命令的每种方法。一切都一样。

我不知道是否有帮助,但我有roottools库可用。 (尝试使用他们的方法,结果相同)。

回答

-1

你为什么不使用grep4j这个?

public static void propFinder(String Prop) { 
     GrepResults lineContainingTheProp = grep(constantExpression(Prop), on(propertyFileProfile())); 
     log.append(lineContainingTheProp); 
} 
+0

不,它没有帮助,因为我不想从文件中读取。回复晚了非常抱歉。 –