改变系统文件权限

3
我已经尽力了:

现在,假设我已作为root重新挂载了文件系统并获得了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\"");

or:

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

行为是一样的:什么也没有发生。但是如果我从adb shell中使用chmod就可以正常工作。我如何在我的代码中更改该文件的权限?

1个回答

2

这是我的解决方案:

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

http://examples.javacodegeeks.com/core-java/io/file/set-file-permissions-in-java-example/ - vangorra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接