Android 判断Root的方法
发布时间:2020-12-14 23:52:03 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ??? private final static int kSystemRootStateUnknow = -1;??? private final static int kSystemRootStateDisable = 0;??? private final static i
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 ??? private final static int kSystemRootStateUnknow = -1; ??? private final static int kSystemRootStateDisable = 0; ??? private final static int kSystemRootStateEnable = 1; ??? private static int systemRootState = kSystemRootStateUnknow; public static boolean isRootSystem() { if (systemRootState == kSystemRootStateEnable) { return true; } else if (systemRootState == kSystemRootStateDisable) { return false; } File f = null; final String kSuSearchPaths[] = { "/system/bin/","/system/xbin/","/system/sbin/","/sbin/","/vendor/bin/" }; try { for (int i = 0; i < kSuSearchPaths.length; i++) { f = new File(kSuSearchPaths[i] + "su"); if (f != null && f.exists()) { systemRootState = kSystemRootStateEnable; return true; } } } catch (Exception e) { } systemRootState = kSystemRootStateDisable; return false; } public synchronized boolean getRootAhth() { Process process = null; DataOutputStream os = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes("exitn"); os.flush(); int exitValue = process.waitFor(); if (exitValue == 0) { return true; } else { return false; } } catch (Exception e) { Log.d("*** DEBUG ***","Unexpected error - Here is what I know: " + e.getMessage()); return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { e.printStackTrace(); } } } //判断机器 Android是否已经root,即是否获取root权限 protected static boolean haveRoot() { int i = execRootCmdSilent("echo test"); //通过执行测试命令来检测 if (i != -1) return true; retrun false; } ? 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |