AndroidアプリケーションがROOT権限を取得する方法
2275 ワード
最近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 + "
");
os.writeBytes("exit
");
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権限を取得しました」がポップアップされます.