Wykonuj polecenia adb z Java

Chcę wypchnąć plik z mojego programu Java do emulatora systemu Android. Teraz mogę uruchomić emulator, używając ProcessBuilder, a także pułapkę komunikatów logcat. Ale za każdym razem, gdy próbuję użyć polecenia push adb w konstruktorze procesów, proces zawiesza się i nie jest generowane żadne wyjście.

Kod:

try {
    ProcessBuilder proc = new ProcessBuilder("D://android-sdk//platform-tools//adb.exe",
                                             "push D:\\final.xml /mnt/sdcard/final.xml");
    Process p = proc.start();
    BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ( (line = br2.readLine()) != null)
        System.out.println(line);
} catch (Exception e) {
    System.err.println("Error");
}

EDYCJA: - Znaleziono prawdopodobne rozwiązanie. Korzystałem z metody Process.waitFor (), ale nie zapisywałem jej zwracanego kodu. Teraz jak to zrobiłem:

int exitVal = p.waitFor();

Wszystko działało jak urok.

I @Marc Van Daele Dziękujemy za Twój wkład. zgodnie z moim doświadczeniem, ProcessBuilder działa na dwa sposoby, tj. Możesz użyć argumentów oddzielonych spacjami lub przecinkami. :)

questionAnswers(1)

yourAnswerToTheQuestion