0
我试图将XML文件从我的应用程序私人目录移动到另一个应用程序私人目录。它向我请求超级用户,我授予他权利但他不移动该文件。超级用户和移动文件
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/");
不工作。
我认为你的意思是'sudo mv src dst',就像你拥有它,'mv src dst'将被视为'su'命令的参数。 – azurefrog
runtime.exec(“su mv /data/data/de.aciid.nullgc/files/FlappyBird2.xml /data/data/com.dotgears.flappybird/shared_prefs/”);没有工作。我只是删除了单个su请求,并将其全部放在这一行中。不动。 /编辑:啊,好吧。我现在请求了一个cmd的su(不知道我是否必须这样做),并且在下一步做了sudo mv src dest。可悲的是,它不动。 – KrauseDroid
@KrauseDroid:它必须是'sudo'而不是'su',但我想你知道。让你不要错过异常(如果有),检查返回代码(对于成功的操作,必须为0),并读取过程输出(通过'getErrorStream')。它实际上必须工作,除非有错误的论点 – maaartinus