我正在尝试将 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/