2013-03-11 102 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