【发布时间】:2013-02-16 12:12:26
【问题描述】:
我想在不解析 ls -l 的情况下获取 linux 文件权限。 由于我将使用 RootTools,我看到它有一个 Permissions 类,但是我应该如何将文件的权限数据获取到该对象中?
【问题讨论】:
标签: android file permissions root roottools
我想在不解析 ls -l 的情况下获取 linux 文件权限。 由于我将使用 RootTools,我看到它有一个 Permissions 类,但是我应该如何将文件的权限数据获取到该对象中?
【问题讨论】:
标签: android file permissions root roottools
如果你不能修改源使用反射:
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;
}
【讨论】:
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");
【讨论】: