我正在使用 chmod 命令来更改文件的权限,但它在我的代码中不起作用,而且我的设备也已获得 root 权限:
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
但是该文件是存在的,当我使用此代码更改数据库目录中另一个文件的权限时成功,那么我现在该怎么办。
1.先进行RootTools.isAccessGiven()检查,然后系统会以Dialog的方式请求“Root”权限。允许root后就可以成功运行root命令了。
2."\""+ 我的文件路径+ "\""=> 我的文件路径
在 ADB shell 中使用 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();
}