判断Android设备是否拥有Root权限

来源:互联网 发布:ibm人工智能医学 编辑:程序博客网 时间:2024/04/29 20:49
/** * 判断Android设备是否拥有Root权限 * * @author mWolfer */public class RootCheck {    private final static String TAG = "RootUtil";    public static boolean isRoot() {        String binPath = "/system/bin/su";        String xBinPath = "/system/xbin/su";        if (new File(binPath).exists() && isExecutable(binPath))            return true;        if (new File(xBinPath).exists() && isExecutable(xBinPath))            return true;        return false;    }    private static boolean isExecutable(String filePath) {        Process p = null;        try {            p = Runtime.getRuntime().exec("ls -l " + filePath);            // 获取返回内容            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));            String str = in.readLine();            Log.i(TAG, str);            if (str != null && str.length() >= 4) {                char flag = str.charAt(3);                if (flag == 's' || flag == 'x')                    return true;            }        } catch (IOException e) {            e.printStackTrace();        } finally {            if (p != null) {                p.destroy();            }        }        return false;    }}

0 0