2012-05-24 43 views
4

我有一個問題,當我嘗試內部/數據/數據文件夾複製到SD卡。複製文件夾/數據/數據到SD卡和反之亦然

我有我的手機紮根。

我要求超級用戶權限,我的應用程序:

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

我使用FileUtils從Apache到複製文件/文件夾。

我發現的是,如果我手動將文件夾權限更改爲READ我可以將其從/ data/data複製到SDcard。

有沒有什麼辦法遞歸地改變裏面所有文件夾的權限/data/data來讀取和寫入文件夾?我試過chmod但它不起作用。

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

我想要做一個備份計劃,我想讀裏面/數據/數據一些文件夾,並將在SD卡上的文件夾寫。

然後我想恢復這個文件夾從SDcard的文件夾中讀取它們並將它們寫入/data/data

請問您能幫我嗎?

+0

它可以做到這一點,因爲有一個程序(鈦備份)這樣做(它讀取/ data/data /文件夾中的文件並複製到SD卡中,並恢復它)...請幫助我。 – AngeL

+0

有什麼辦法文件和文件夾複製爲超級用戶??? – AngeL

回答

10

在我得到它的結束!!!!

我使用超級用戶進程與cp命令來複制文件和文件夾。

我希望你覺得它有用。

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); 
} 

非常感謝這個論壇的所有人和所有您提供的幫助!

+0

超級dooper完美的男人... – Noman

+0

感謝您的回答! – MKJParekh

相關問題