OK.Я везде искал, как выполнить несколько команд в одной командной строке из Java.Что мне нужно сделать, это, но не в командной строке, в коде.
Выполнить:
cd C:/Android/SDK/platform-tools
adb install superuser.apk
.. В основном я хочу запускать команды adb из программы !!!Вот мой код Java на данный момент:
MainProgram.java
public class MainProgram {
public static void main(String[] args) {
CMD shell = new CMD();
shell.execute("cmd /K cd C:/Android/SDK/platform-tools"); //command 1
shell.execute("cmd /C adb install vending.apk"); // command 2
}
}
CMD.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class CMD {
CMD() {
}
// THIS METHOD IS WHERE THE PROBLEM IS
void execute(String command) {
try
{
Process p = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
// read the output from the command
String s = null;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
Так что происходит ... я могу запустить первыйкоманда, но этот cmd завершается, и когда я выполняю вторую команду, создается новый cmd, поэтому я получаю сообщение об ошибке, потому что я не в нужном каталоге.Я попробовал одностроковую команду «cmd / Cd C: / blablabla / C adb remount», но она просто замерзла ...
По сути, команда 1 выполняется и завершается, затем команда 2 выполняетсяпрекращается.Я хочу, чтобы это было так: команда 1 выполнена, команда 2 выполнена, завершена.
В основном я спрашиваю, как я могу выполнить обе эти команды подряд в одной командной строке ???
Моя последняя цель - создать JFrame с кучей кнопок, которые при нажатии выполняют разные команды adb.