@Adi Tiwari,我找到了原因。 Runtime.getRuntime.exec()
不直接执行Shell命令,而是执行带有参数的可执行文件。“echo
”是内置的shell命令。它实际上是sh
带有option 的可执行文件参数的一部分-c
。像这样ls
的命令是实际的可执行文件。您可以使用type echo
和进行type ls
命令adb shell
以查看不同之处。 所以最终的代码是:
String[] cmdline = { "sh", "-c", "echo $BOOTCLASSPATH" };
Runtime.getRuntime().exec(cmdline);