首页 > 代码库 > Android -- 程序判断手机ROOT状态,获取ROOT权限

Android -- 程序判断手机ROOT状态,获取ROOT权限

判断手机是否具有ROOT权限                                                           

/**      * 判断手机是否ROOT      */      public boolean isRoot() {            boolean root = false;            try {              if ((!new File("/system/bin/su").exists())                      && (!new File("/system/xbin/su").exists())) {                  root = false;              } else {                  root = true;              }            } catch (Exception e) {          }            return root;      }

上面返回的参数就知道手机是否具有ROOT权限了。

向ROOT权限发送请求信息,以获取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;        }    }

我是天王盖地虎的分割线                                                                 

 

参考:http://blog.csdn.net/fm9333/article/details/12752415