android请求root权限

应用获取Root权限的原理:让应用的代码执行目录获取最高权限。在Linux中通过chmod 777 [代码执行目录]

 

//请求root权限
    public static boolean upgradeRootPermission(String pkgCodePath) {  
        Process process = null;  
        DataOutputStream os = null;  
        Boolean resBoolean;
        try {  
            String cmd="chmod 777 " + pkgCodePath;  
            process = Runtime.getRuntime().exec("su"); //切换到root帐号  
            os = new DataOutputStream(process.getOutputStream());  
            os.writeBytes(cmd + "\n");  
            os.writeBytes("exit\n");     //退出root 账号,不执行会卡住机器
            os.flush();  
            resBoolean= process.waitFor()==0;  
        } catch (Exception e) {  
            return false;  
        } finally {  
            try {  
                if (os != null) {  
                    os.close();  
                }  
                process.destroy();  
            } catch (Exception e) {  
            }  
        }  
        return resBoolean;  
    }  
   

 

//调用函数

if(upgradeRootPermission(getPackageCodePath()))
        {
            Toast.makeText(MainActivity.this, "Root 权限请求成功", Toast.LENGTH_SHORT).show();
        }
        else{
            Toast.makeText(MainActivity.this, "Root 权限请求失败,无法使用!程序将自动退出!", Toast.LENGTH_SHORT).show();
            finish();
        }

posted @ 2015-05-05 12:23  Android开发8585  阅读(594)  评论(0编辑  收藏  举报