В моем сценарии uiautomator я отправлю некоторый промежуточный статус. Когда я запускаю uiautomator из командной строки с помощью adb, я могу видеть мои распечатки статуса по одному. Но когда я запускаю его с фрагментом кода, как показано ниже, я не получаю его по одному. После завершения теста я получаю только полный кусок статуса. Мне нужно получить статус в режиме реального времени для некоторого разбора.Запуск uiautomator в Runtime.getRuntime(). Exec() не дает статуса в реальном времени
Мне кажется, что вывод буферизирован и краснеет сразу. Я попытался изменить размер буфера BufferedReader, но все еще не работал, как он выглядит при запуске из командной строки.
У кого-нибудь есть идеи?
String tempString;
Process process = Runtime.getRuntime().exec("uiautomator runtest DummyUiAutomation.jar -c com.dummy.DummyAutomation#DummyAction");
BufferedReader buffReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((tempString = buffReader.readLine()) != null) {
//do some parsing
}
Вы пытаетесь запустить это из своего приложения? –
есть. u может игнорировать беспокойство относительно суперпользователя или укоренение устройства. это не проблема в моем случае. –