【发布时间】:2011-12-14 08:40:00
【问题描述】:
我正在尝试将我的应用程序生成的文件写入系统分区。由于我无法在我的应用程序中创建 FileOutputStream 我在我的应用程序的数据目录中创建文件,更正权限,然后将其移动到系统分区。
目前,下面的代码错过了 /system 的可写重新挂载 - 出于测试目的,我已通过 adb remount 成功执行此步骤 - 因此这应该不是问题。
该应用程序还成功获得了 root 权限。
但是下面的代码不起作用。它只创建文件,但不会将其移动到系统分区。我的错误是什么?
FileOutputStream out = openFileOutput("myfile.test", MODE_WORLD_READABLE);
File f = getFileStreamPath("myfile.test");
writeDataToOutputStream(out);
out.close();
String filename = f.getAbsolutePath();
Runtime r = Runtime.getRuntime();
r.exec("su");
// Waiting here some seconds does not make any difference
r.exec(new String[] { "chown", "root.root", filename });
r.exec(new String[] { "chmod", "644", filename });
r.exec(new String[] { "mv", filename, "/system/myfile.test" });
【问题讨论】:
标签: android filesystems root