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

Ang*_*geL 4 directory android copy root android-sdcard

当我尝试将/ data/data中的文件夹复制到SD卡时,我遇到了问题.

我的手机根植了.

我在我的应用中请求超级用户权限:

Runtime.getRuntime().exec("su");
Run Code Online (Sandbox Code Playgroud)

我正在使用FileUtilsApache来复制文件/文件夹.

我发现如果我手动更改文件夹权限,READ我可以将其从/ data/data复制到SD卡.

有没有办法以递归方式更改/ data/dataRW中所有文件夹的权限来读写文件夹?

我试过chmod但它不起作用.

Runtime.getRuntime().exec("chmod 777 /data/data");
Run Code Online (Sandbox Code Playgroud)

我想做一个备份程序,我想读取/ data/data中的一些文件夹,并将它们写在SDcard的文件夹中.

然后我想恢复这个文件夹从SDcard的文件夹中读取它们并将它们写入/ data/data.

请问你能帮帮我吗?

Ang*_*geL 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);
}
Run Code Online (Sandbox Code Playgroud)

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