将/ data / data中的文件夹复制到sdcard,反之亦然

问题描述 投票:4回答:2

当我尝试将/ data / data中的文件夹复制到SDcard时出现问题。

我的手机已经扎根。

我通过以下方法在我的应用程序中请求超级用户权限:

Runtime.getRuntime().exec("su");

我正在使用Apache的FileUtils复制文件/文件夹。

[我发现的是,如果我将文件夹权限手动更改为READ,我可以将其从/ data / data复制到SDcard。

是否有任何方法可以递归地更改/ data / data中所有文件夹的RW权限以读取和写入文件夹?

我已经尝试过chmod,但是它不起作用。

Runtime.getRuntime().exec("chmod 777 /data/data");

我想做一个备份程序,我想读取/ data / data中的一些文件夹,并将它们写到SD卡的文件夹中。

然后,我想还原此文件夹,从SD卡的文件夹中读取它们,并将其写入/ data / data

您能帮我吗?

android copy root android-sdcard directory
2个回答
10
投票

最后我明白了!!!!

我通过cp命令使用SuperUser进程来复制文件和文件夹。

希望您觉得对您有帮助。

String comando = "cp -r /data/data/sourcefolder /sdcard/targetfolder";
Process suProcess = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());
os.writeBytes(comando + "\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
try
{
 int suProcessRetval = suProcess.waitFor();
 if (255 != suProcessRetval)
 {
  // Acceso Root concedido
  retval = true;
 }else
 {
  // Acceso Root denegado
  retval = false;
 }
}
catch (Exception ex)
{
 Log.w("Error ejecutando el comando Root", ex);
}

非常感谢本论坛的所有人以及您提供的所有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.