java - super 用户和移动文件

标签 java android eclipse root

我正在尝试将 XML 文件从我的应用程序私有(private)目录移动到另一个应用程序私有(private)目录。它要求我正确提供 super 用户,我授予他权限,但他没有移动文件。

final Runtime runtime = Runtime.getRuntime();
            try {
                runtime.exec("su");
                runtime.exec("mv " + Environment.getDataDirectory().toString() + filename + " " + path);
            } catch (Exception e) {
                e.printStackTrace();
            }
为什么?顺便说一句,文件名是“FlappyBird.xml”,路径是“/data/data/com.dotgears.flappybird/shared_prefs”

另外,我尝试过这样:

runtime.exec("mv /data/data/de.aciid.nullgc/files/FlappyBird2.xml /data/data/com.dotgears.flappybird/shared_prefs/");

也不起作用。

最佳答案

您正在执行两个独立的命令:

  • su 启动 root shell(您随后会忽略它)
  • mv 按照你的方式运行,视为失败

您需要的是一个像这样的命令

sudo mv src dst

以 root 身份工作时要小心。

关于java - super 用户和移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186624/

相关文章:

Eclipse 中的 Java AWT 包 "not accessible"

java - AtomicInteger 到 int 的转换

java - Java log4j 的日志消息的最大长度是多少?如何在一行中打印它?

Android读写临时文件

android - FindViewById() 找不到 View

java - 如何向 Eclipse e4 RCP 应用程序添加依赖项?

java - 错误: Multiple annotations found at this line:

java - Scala IDE - Play 2 Eclipse 插件不突出显示 Scala HTML 模板的语法

android - GoogleCloudMessaging#register 在同一应用程序/设备中返回不同的 ID?

java - 将现有的 java (libGDX) 项目和 git 存储库从 eclipse 迁移到 IntelliJ IDEA