检测手机是否Root源码判断安卓手机是否root有三种方式,本源码是第三种方式。
第一种:
Android可以直接运行一个底层命令,来判断是否root,但是这会带来一个问题,每次判断是否root都会弹出一个root请求框。这是十分不友好的一种交互方式,而且,用户如果选择取消,有部分手机是判断为非root的。这种方式的特点是交互不友好,而且有误判。
第二种:
一般root手机都会有一些的特殊文件夹,比如/system/bin/su,/system/xbin/su,里面存放有相关的权限控制文件。因此只要手机中有一个文件夹存在就判断这个手机root了。然后经过测试,这种方法在大部分手机都可行。这种方式的特点是交互友好,但是有误判。
第三种:
第三种判断方式是基于第二种的,部分国产,比如小米系列,有第二种方式所说的文件夹,但是系统是未root的,判断成了已root。经过分析,这是由于小米有自身的权限控制系统而导致。只需要在第二种方法的基础上,再另外判断文件拥有者对这个文件是否具有可执行权限(第4个字符的状态),就基本可以确定手机是否root了。这种方法基本可以判断所有的手机,而且不弹出root请求框。
1