android检测是否已经具有root权限

一般检测root权限分两种情况:

第一种:检测应用是否拥有root权限,这种检测可以直接运行su命令,然后一般会有弹窗询问是否给予软件root权限。如果用户拒绝后,应用就会被判断为未拥有root权限。就像第一句话说的,这种方式只能【检测应用是否拥有root权限】

第二种:检测手机是否拥有root权限,读取system目录下的文件内容,未root的手机会读取失败。可以选择读取system/build.prop,一般Android手机都会有这个文件。

下面直接贴代码:

/**

* 檢查root權限,嘗試讀取system/build.prop文件內容,未root的手機無法正常讀取。

* @return 是否root

*/

public static boolean checkRoot() {

if(TextUtils.isEmpty(readFile("system/build.prop"))){

return  false;

    }else {

return true;

    }

}

public static StringreadFile(String fileName){

File file =new File(fileName);

    try {

FileInputStream fis=new FileInputStream(file);

        byte[] bytes =new byte[1024];

        ByteArrayOutputStream bos =new ByteArrayOutputStream();

        int len;

        while((len=fis.read(bytes))>0){

bos.write(bytes, 0, len);

        }

String result =new String(bos.toByteArray());

        return result;

    }catch (Exception e) {

e.printStackTrace();

return null;

    }

}

你可能感兴趣的:(android检测是否已经具有root权限)