2013-11-21 4 views
0

Я пытаюсь получить вывод команды «getprop | grep».Получить вывод команды оболочки getprop | grep

Вот мой код:

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, я получить хороший выход, но это неполно. Googled around, используется каждый метод выдачи команды, которую я нашел. Все одинаково.

Я не знаю, помогает ли она, но у меня есть библиотека roottools. (пробовал использовать их метод, тот же результат).

ответ

-1

Почему вы не используете grep4j для этого?

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

Нет, это не помогает, поскольку я не хочу читать из файла. Извините за поздний ответ. –

Смежные вопросы