如果 android 手机已植根,我想以编程方式在我的应用程序中找到。我发现了许多链接,例如:确定是否在有根设备上运行 以编程方式检查我是否在 Android 上的有效方法?讨论同一个话题。但是,正如这些链接中提到的那样,没有一种明确的方法可以找出答案。这些帖子已经很老了,我想知道在最近的版本中是否有更好的方法来实现它?
提前致谢!
如果 android 手机已植根,我想以编程方式在我的应用程序中找到。我发现了许多链接,例如:确定是否在有根设备上运行 以编程方式检查我是否在 Android 上的有效方法?讨论同一个话题。但是,正如这些链接中提到的那样,没有一种明确的方法可以找出答案。这些帖子已经很老了,我想知道在最近的版本中是否有更好的方法来实现它?
提前致谢!
我已经从RootTools包装了这段代码(在没有任何其他外部 jar/lib 的情况下可以正常工作)
private static boolean isRooted() {
return findBinary("su");
}
public static boolean findBinary(String binaryName) {
boolean found = false;
if (!found) {
String[] places = {"/sbin/", "/system/bin/", "/system/xbin/", "/data/local/xbin/",
"/data/local/bin/", "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/"};
for (String where : places) {
if ( new File( where + binaryName ).exists() ) {
found = true;
break;
}
}
}
return found;
}
您可以使用 roottools 库。他们提供了一种检查 root 访问权限的方法。 https://code.google.com/p/roottools/