public class RootUtil { private final static String TAG = "RootUtil"; /** 判断手机是否root,不弹出root请求框<br/> */ 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; } }
代码无弹窗判断设备是否root
最新推荐文章于 2021-07-05 16:20:45 发布

本文介绍了一种检测Android设备是否已被Root的方法。通过检查特定路径下是否存在可执行文件su,并验证其是否具备执行权限来判断。此方法适用于Android应用开发者确保应用运行环境的安全。
1360

被折叠的 条评论
为什么被折叠?



