【问题标题】:How to obtain file permission using roottools如何使用roottools获取文件权限
【发布时间】:2013-02-16 12:12:26
【问题描述】:

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

【问题讨论】:

    标签: android file permissions root roottools


    【解决方案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;
    }
    

    【讨论】:

    • 这也是个好主意,但是更新RootTools时需要注意不要忘记这一点,如果它改变了。
    【解决方案2】:

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

    来自 RootTools 来源

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

    似乎我必须修改 RootTools 源并从 ls -l 输出获取权限

    getInternals().getPermissions("ls -l output line");
    

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 2014-05-04
      • 2021-09-05
      • 2011-10-17
      • 2011-06-07
      • 1970-01-01
      • 2011-11-01
      • 2014-09-29
      相关资源
      最近更新 更多