如何检查Android手机是否已植根?

时间:2013-10-10 06:21:49

标签: android root

我想在我的应用程序中以编程方式查找Android手机是否已植根。我找到了许多链接,例如:Determine if running on a rooted device Effective way to programatically check if I'm rooted on Android?讨论同一主题。然而,正如那些链接所提到的,没有一个明确的方法可以找到答案。这些帖子很老了,我想知道在最近的版本中是否有更好的方法可以实现它?

提前致谢!

2 个答案:

答案 0 :(得分:20)

我已经从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;
}

答案 1 :(得分:5)

您可以使用roottools库。它们提供了一种检查root访问权限的方法。 https://code.google.com/p/roottools/