Java执行shell命令问题

我在java代码中执行shell命令改变Android目录下的文件123.sh的权限,
使用Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh")这个命令无效,

但是,我将chmod 777 /data/misc/123.sh这个命令写到脚本chmod.sh里,在PC机上改变chmod.sh的权限后使用adb push将其放到android目录/data/misc/下,

再使用Runtime.getRuntime().exec("su -c ./data/misc/chmod.sh")执行就可以,请问问题出在哪里了呢?

String[] command = new String[] {"/bin/sh","-c","chmod 777 /data/misc/123.sh"};
Runtime.getRuntime().exec(command);
这样试试 。。。。

权限不一样,第二个 exec 用到 su 了啊!

不过我这个是在MAC OS X 下的写法 不确定能不能在你ANDROID下用

在Android下Runtime.getRuntime().exec(command);参数问题很复杂的。