我们知道Android手机操作系统采用的是Linux内核,Linux中最高的系统权限就是Root,这就类似与Windows中的Administrator系统管理员权限,也就是操作系统的最高权限。 由于Root的权限过高,因此手机产商一般都不允许用户直接拥用Root权限,以防止用户修改系统内置的业务跟程序。但是对于用户来说,当然希望能拥有Root权限以将手机修改成自己的一种特色,因为有Root权限则可以任意修改手机的所有文件跟程序,让手机更加个性化。
</pre><pre name="code" class="html"><span style="font-family: Arial, Helvetica, sans-serif;">Process process = null; </span>
try{ process = Runtime.getRuntime().exec("su"); //这里是主要程序代码ATAAW.COM process.waitFor(); }catch(Exception e){ e.printStackTrace(); }finally { process.destroy(); }
</pre><pre name="code" class="html">
获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了。
</pre><pre name="code" class="html">
<pre name="code" class="html">// 获取ROOT权限 public void get_root(){ if (is_root()){ Toast.makeText(mCtx, "已经具有ROOT权限!", Toast.LENGTH_LONG).show(); } else{ try{ progress_dialog = ProgressDialog.show(mCtx, "ROOT", "正在获取ROOT权限...", true, false); Runtime.getRuntime().exec("su"); } catch (Exception e){ Toast.makeText(mCtx, "获取ROOT权限时出错!", Toast.LENGTH_LONG).show(); } } }
其中is_root()判断是否已经具有了ROOT权限。只要/system/bin/su、/system/xbin/su这两个文件中有一个存在,就表明已经具有ROOT权限,如果两个都不存在,则不具有ROOT权限。
</pre><pre name="code" class="html"><pre name="code" class="html">// 判断是否具有ROOT权限 public static boolean is_root(){ boolean res = false; try{ if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){ res = false; } else { res = true; }; } catch (Exception e) { } return res;