如何使用roottools获取文件权限

时间:2013-02-16 12:12:27

标签: android file permissions root roottools

我希望在不解析ls -l的情况下获得linux文件权限。 由于我将使用RootTools,我看到它有一个Permissions类,但我应该如何获取文件的权限数据到该对象?

2 个答案:

答案 0 :(得分:1)

如果您无法修改源使用反射:

private Permissions RootToolsInternalMethods_getPermissions(String line)
{
    try
    {
        RootTools rootTools = new RootTools();
        Method method = rootTools.getClass().getDeclaredMethod("getInternals");
        method.setAccessible(true);
        RootToolsInternalMethods rootToolsInternalMethods = (RootToolsInternalMethods)method.invoke(rootTools);
        return rootToolsInternalMethods.getPermissions(line);
    }
    catch (Exception ignore) {}

    return null;
}

答案 1 :(得分:0)

RootToolsInternalMethods有getPermissions(String)方法,但它们只能在RootTools类中访问

来自RootTools来源

private static final RootToolsInternalMethods getInternals() {
    if (rim == null) {
        RootToolsInternalMethods.getInstance();
        return rim;
    } else {
        return rim;
    }
}

似乎我必须修改RootTools源并从ls -l output

获取权限
getInternals().getPermissions("ls -l output line");