0

在我的应用程序(根设备)中,我想对一些文件、文件夹进行 chmod 读写。我的代码在这里:

String path = "/mnt/sdcard/.android_secure";
String[] chmod = { "su", "-c","chmod 777 "+path };
try {
    Runtime.getRuntime().exec(chmod);
} catch (IOException e) {
    e.printStackTrace();
}

File f = new File("/mnt/sdcard/.android_secure");
f.canRead();

但文件仍然无法读取!

4

2 回答 2

2

我建议您阅读命令的输出以检查命令报告的错误,然后采取必要的纠正措施。

Process process = Runtime.getRuntime().exec(chmod); 
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

String line;
while ((line = bufferedReader.readLine()) != null){

    Log.d("myTAG", line);
}

祝你好运

于 2012-09-28T11:01:32.240 回答
1

通常 sdcard 在 fat 文件系统中格式化。并且这种类型的文件系统不支持 unix 风格的文件权限。您可以使用相同的代码来检查是否可以更改设备上文件夹的权限吗?

于 2012-09-28T10:53:53.247 回答