我真的什么都试过了:
现在,假设我已经重新挂载为root用户,因此文件系统上的RW权限(AndroidVersion2.3.7):
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("chmod -c 0777 /system/etc/customization/settings/com/android/browser/custom_settings.xml\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();或者:
Process process = Runtime.getRuntime().exec("su -c \"/system/etc/customization/settings/com/android/browser/custom_settings.xml\"");或者:
Class<?> fileUtils = Class.forName("android.os.FileUtils");
Method setPermissions =
fileUtils.getMethod("setPermissions", String.class, int.class, int.class, int.class);
int a = (Integer) setPermissions.invoke(null, "/system/etc/customization/settings/com/android/browser/custom_settings.xml", 0777, -1, -1);行为是一样的:什么都不会发生。然而,如果我来自亚行外壳的chmod工作得很好。如何在代码中更改该文件的权限?
发布于 2012-10-22 08:33:28
这是我的解决方案:
Process sh = Runtime.getRuntime().exec("su", null, new File("/system/bin/"));
OutputStream os = sh.getOutputStream();
os.write(("chmod 777 <filepath>").getBytes("ASCII"));
os.flush();
os.close();
sh.waitFor();https://stackoverflow.com/questions/11822500
复制相似问题