当前位置: 代码迷 >> Android >> Android应用程序获取ROOT权限的步骤
  详细解决方案

Android应用程序获取ROOT权限的步骤

热度:18   发布时间:2016-05-01 19:58:54.0
Android应用程序获取ROOT权限的方法

最近学习Android的时候写个小程序需要用到获取ROOT权限,在网上找了好久,发现这种方法可行,前提时设备必须已经破解过!能执行su命令。

package cn.ycmoon.utility;import java.io.DataOutputStream;import android.app.Activity;import android.util.Log;public class SystemManager extends Activity{    /**     * 应用程序运行命令获取 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;    }}

?

二、在应用程序的MainActivity方法中:

?

public class MainActivity extends Activity

{

? ? public void onCreate(Bundle savedInstanceState)

? ? {

? ? ? ? super.onCreate(savedInstanceState);

? ? ? ? setContentView(R.layout.main);

? ? ? ? String apkRoot="chmod 777 "+getPackageCodePath();

? ? ? ? SystemManager.RootCommand(apkRoot);

? ? }

}

?

这样,在应用程序运行的时候,会弹出消息对话框“应用程序已获取root权限”

?

  相关解决方案