我想一个Java程序执行以下shell命令:getRuntime()EXEC()什么也不做
apktool.jar d /path/to/my/app.apk
此命令直接在命令行上执行它时会很好地工作。
Java代码:
public static void main(String[] args) {
String command = "apktool d /path/to/my/app.apk";
try {
Runtime.getRuntime().exec(command);
} catch (IOException e1) {
e1.printStackTrace();
}
}
没有错误,也不例外。没有任何反应,我的印象是我已经在整个互联网上搜索解决方案。有人知道我做错了什么吗?一个简单的命令像
的mkdir /路径/到/ A /新/文件夹
作品没有问题。
我试过使用的ProcessBuilder相同:
try {
Process process = new ProcessBuilder(command).start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这一次我只得到“无法运行程序‘apktool d /path/to/my/app.apk,没有这样的文件或目录’我可以。你甚至不会运行mkdir命令
对不起,我编辑我的职务。 apktool是一个调用apktool.jar的.sh文件。 – null 2014-10-10 16:12:25
@null:同样的想法 - 然后用'sh'命令运行它(我相信因为我没有做unix)。 – 2014-10-10 16:14:13
我用sh命令运行它,但没有任何反应。我更新了我的问题,因为我甚至无法使用ProcessBuilder运行mkdir。 – null 2014-10-10 16:21:41