修改系统文件权限(Changing system file permission)

2019-06-26 18:47发布

我真的尝试了一切:

  • NetHackFileHelpers
  • 如何获取文件权限模式编程在Java中
  • 更改文件权限的应用程序
  • 安装R / W系统,Android应用程序来编辑只读文件

现在,假设我已经重新安装的根,因此RW文件系统(Android版本2.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亚行壳工作正常。 我怎样才能从我的代码中改变文件的权限?

Answer 1:

这里是我的解决方案:

        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();


文章来源: Changing system file permission