java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官
我在Java程序中有以下方法
public static void enableAirplaneMode() {
String s = null;
try {
Runtime rt = Runtime.getRuntime();
Process pr = null;
String command = "adb shell \"su -c 'settings put global airplane_mode_on 1'\"";
System.out.println(command);
pr = rt.exec(command);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
pr.destroy();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
上述方法的输出为
adb shell "su -c 'settings put global airplane_mode_on 1'"
/system/bin/sh: no closing quote
但是,如果我直接在终端中复制/粘贴命令,一切都会按预期工作。为什么在这里出现“无结束报价”错误
# 1 楼答案
按照javadocs上的建议尝试passing an array