Android怎么判断当前应用是否有root权限

 时间:2024-10-23 16:01:52

需要使用代码来验证。看能否在data分区创建文件,如果能够在data分区创建文件,那么应用具有root权限。

1、判断代码

public static boolean upgradeRootPermission( ) {
Process process = null;
DataOutputStream os = null;
try {

Log.i("roottest", "try it");
String cmd = "touch /data/roottest.txt";
process = Runtime.getRuntime().exec("su"); //切换到root帐号
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(cmd + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (Exception e) {
return false;
} finally {
try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
}
}
return true;
}

Android怎么判断当前应用是否有root权限

2、获取root权限:

public class MainActivity extends Activity {

/**
* 创建
*/
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 返回系统包名
String apkRoot = "chmod 777 " + getPackageCodePath();
RootCommand(apkRoot);

}

/**
* 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限)
*
* @param command
* 命令: String apkRoot="chmod 777 "+getPackageCodePath();
* RootCommand(apkRoot);
* @return 应用程序是/否获取Root权限
*/
public static boolean RootCommand(String command) {

Process process = null;
DataOutputStream os = null;

try {

process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();

} catch (Exception e) {
Log.d("*** DEBUG ***", "ROOT REE" + e.getMessage());
return false;

} finally {

try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
}
}

Log.d("*** DEBUG ***", "Root SUC ");
return true;

}

}

Android怎么判断当前应用是否有root权限

3、root权限

Root是android系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对象他都可以操作。

但是为了手机的安全性和稳定性,防止用户误操作导致系统崩溃,系统默认是没有开启root权限的,这就需要我们来进行获取。取得root就是取得android手机的最高控制权,很类似symbian上的xx(破解)。

4、root权限作用:

root的权限主要是因为我们很多东西是受限制的,我们只能利用这些权限来做我们被限制的去做的事情,比如Google禁止我们看到市场里很多免费或付费软件,我们可以用Marketenabler进去看。

很多朋友只能看不能下,不能绑定gmail,我们可以修改hosts来搞定他们,但这些都需要root权限(由于Root权限对于系统具有最高的统治权,便可方便的对于系统的部件进行删除或更改。

  • 如何查看手机是否ROOT成功?
  • 上古世纪汉化
  • 哈利波特魔法觉醒精彩对决在哪看
  • Windows 7系统如何加快前台程序运行的速度?
  • 狐猴浏览器如何清除浏览数据
  • 热门搜索
    饺子馅怎么调 性生活不和谐怎么办 刘字怎么写好看 macan怎么读 长门的轮回眼怎么来的 雷锋怎么画 匚怎么读 平衡车怎么玩 圆的面积怎么求 怎么安慰人