【问题标题】:shell command programmatically that don't work以编程方式不起作用的 shell 命令
【发布时间】:2014-01-03 19:10:25
【问题描述】:

我正在尝试将一个文件按一个目录复制到另一个目录。我正在使用“cp”功能。这是代码

Process process = Runtime.getRuntime().exec("cp "+path+" "+destinationFolder);

此代码在许多设备上运行良好,但在其他设备上出现此错误

error running exec(cp, /data/app/myApp.apk, mnt/sdcard/destinationFolder.

工作目录为空,环境为空。由 ioException 权限被拒绝导致我收到此错误,我该如何解决?任何帮助都是

【问题讨论】:

标签: java android shell


【解决方案1】:

错误运行 exec(cp, /data/app/myApp.apk, mnt/sdcard/destinationFolder

看起来您的目标路径缺少根斜杠,因为它应该是 /mnt/sdcard/destinationFolder 而不是 mnt/sdcard/destinationFolder 引用的错误消息表明

【讨论】:

【解决方案2】:

此错误可能与供应商有关,显然错误是尝试复制 /data/app/ 中的文件时缺少权限,大多数设备不会让您这样做,除非设备已植根并且您正在使用sudo 命令,如果你想用你的应用程序攻击全球市场,我相信你会遇到很多问题,你应该找到更好的方法。

希望对你有帮助

问候!

【讨论】:

  • 如果您尝试复制需要 root 权限的文件是,否则不是,这就是为什么它可能在某些手机上工作,因为某些供应商可能有不同的权限声明
  • 我正在尝试将 apk 文件按其文件夹复制到 sdcard 中的另一个文件夹。这需要root权限吗?
  • 它可能,但既然你提到它,你确定你的清单中设置了“android.permission.WRITE_EXTERNAL_STORAGE”吗?
  • 是的,这个权限是在我的清单中设置的。我不明白 cp 功能是否需要 root 访问权限。我在我的根手机上进行了测试,它可以工作,但在非根手机中我得到了问题中的错误,所以这个“cp”命令需要root访问权限?
  • cp 将需要 root 访问 IF 并且仅当您尝试复制的文件需要 root 权限时,不是命令“cp”本身需要权限,而是您尝试复制的文件
猜你喜欢
  • 2014-01-18
  • 2015-06-27
  • 2012-02-24
  • 2013-01-26
  • 2014-05-17
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多