您的位置:首页 > 其它

(五十九)工具方法 ----判断手机是否root和在手机root后获得root权限

2015-04-20 09:36 363 查看
1、判断手机是否root

public static boolean isPhoneRoot() {
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists()) && (!new File("/system/sbin/su").exists()) && (!new File("/sbin/su").exists()) && (!new File("/vendor/bin/su").exists())){
// System.out.println("手机没有root");
return false;
} else {
// System.out.println("手机root了");
return true;
}
}


2、在手机root后获得root权限

/**
* 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限)
*
* @return 应用程序是/否获取Root权限
*/
public static boolean upgradeRootPermission(String pkgCodePath) {
Process process = null;
DataOutputStream os = null;
try {
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists()) && (!new File("/system/sbin/su").exists()) && (!new File("/sbin/su").exists()) && (!new File("/vendor/bin/su").exists())){
return false;
}
String cmd="chmod 777 " + pkgCodePath;
process = Runtime.getRuntime().exec("su"); //切换到root帐号
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(cmd + "\n");
os.writeBytes("exit\n");
os.flush();
int res = process.waitFor();
//             DataInputStream in = new DataInputStream(process.getErrorStream());
//             if(res!=0||in!=null){
//                 String result = in.readLine();
//                 System.out.println("in.readLine(): "+result+"   "+res);
////                 if("Permission denied".equals(in.readLine())){
//                 if(result!=null&&result.contains("denied")){
//                     return false;
//                 }
//             }else{
////                 System.out.println("in.readLine()==null");
//             }
if(res == 0){
return true;
}else{
return false;
}
} catch (Exception e) {
//             System.out.println("Exception");
e.printStackTrace();
return false;
} finally {
try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: