xdwyyan
loaLakers
采纳率88.9%
2015-06-10 09:04 阅读 2.6k

Java执行shell命令问题

5

我在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")执行就可以,请问问题出在哪里了呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    wang04171 传说中的汪汪 2015-06-10 09:37

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

    点赞 评论 复制链接分享
  • Tiger_Zhao Tiger_Zhao 2015-06-10 09:13

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

    点赞 评论 复制链接分享
  • wang04171 传说中的汪汪 2015-06-10 09:38

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

    点赞 评论 复制链接分享
  • fcxxxer fcxxxer 2015-06-10 12:38

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

    点赞 评论 复制链接分享

相关推荐