【发布时间】:2011-09-15 00:23:03
【问题描述】:
好的。我一直在到处寻找如何在 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 /C cd C:/blablabla /C adb remount”,但它只是冻结了......
本质上,命令 1 被执行并终止,然后命令 2 被执行并终止。我希望它是这样的:执行命令 1,执行命令 2,终止。
基本上我是在问如何在一个命令提示符下连续运行这两个命令???
我的最终目标是拥有一个带有一堆按钮的 JFrame,这些按钮在单击时会执行不同的 adb 命令。
【问题讨论】:
标签: java android shell adb command-prompt