2013-11-21 194 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

不,它沒有幫助,因爲我不想從文件中讀取。回覆晚了非常抱歉。 –