2013-03-11 52 views
2

我使用chmod命令更改文件的權限更改文件的權限在android系統,但它在我的代碼不工作,我的設備是植根太:如何使用chmod

String MyFilePath = "/data/data/MyPkgName/database/com.pocketchange.android.http.AsyncHttpRequestService.db"; 
CommandCapture command = new CommandCapture(0, "chmod 777 " + "\""+ MyFilePath+ "\""); 
RootTools.getShell(true).add(command).waitForFinish(); 

時,它的執行,該命令的輸出是:

Unable to chmod /data/data/MyPkgName/databases/com.pocketchange.android.http.AsyncHttpRequestService.db: No such file or directory 

,但該文件是存在的,當我使用此代碼更改另一個文件的權限在數據庫目錄的成功,讓我能現在要做的。

+0

我不知道是否需要嵌入引號。你可以在目錄上用「ls -l」命令嘗試命令,並閱讀輸出結果,看看你的假設是否有錯。 – 2013-03-11 09:58:15

+0

'chmod'是從'chroot'內部調用的嗎? – Celada 2013-03-11 13:29:14

+0

我正在開發一個android應用程序,並且這個代碼在android項目中。 – 2013-03-11 15:05:44

回答

0

在亞行外殼使用chmod命令

String[] strExec = new String[] 
{ 
     "/system/bin/sh", "-c","/system/bin/chmod 777 
}; 

try { 
    Runtime.getRuntime().exec(strExec); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
0

1.Do RootTools.isAccessGiven()首先檢查,然後系統會要求在對話框的風格「根」權限。在允許root之後,您可以成功運行root命令。
2.「\」「+ MyFilePath +」\「」=> MyFilePath