2016-12-28 14 views
0

Я хочу, чтобы собрать события системного вызова андроида приложений с Трассированием инструмента Сначала я обеденный эмулятором, то я пишу в терминале в Linux следующей команды:Как открыть оболочку эмулятора из java-кода для определения событий системного вызова?

adb -s emulator-5554 shell 

После эмулятора оболочки Я хочу написать команду Strace, как показано на картинке:

after emulator shell I want to write strace command as shown in the picture из trminal она отлично работает со мной, но когда я пишу Java-код

Process p=Runtime.getRuntime().exec("adb -s emulator-5554 shell"); 
Process p1=Runtime.getRuntime().exec("strace -p 871"); 

это не сработало может любой один помочь мне написать этот код Java в затмении , пожалуйста, обратите внимание на картину

ответ

0

Команда adb shell открывает новую оболочку, в которой strace выполняется. Java-версия вашей команды выполняла обе команды в оболочке по умолчанию. Следовательно, вы должны объединить их:

Process p=Runtime.getRuntime().exec("adb -s emulator-5554 shell strace -p 871");

+0

Я действительно не знаю, как я могу отблагодарить вас. Он работает со мной – dina

+0

На Stackoverflow вы должны отметить вопрос, который решает ваш вопрос с зеленой галочкой на левой стороне. – Robert

+0

где зеленый знак Роберт, пожалуйста? – dina

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

  • Нет связанных вопросов^_^