¿Cómo obtener permisos de root para aplicaciones de Android?
1. Método de construcción: el código es el siguiente:
paquete cn.ycmoon.utility;
importar java.io.DataOutputStream;
importar android.app.Activity;
importar android.util.Log;
la clase pública SystemManager extiende la actividad
{
/**
* La aplicación ejecuta el comando para obtener acceso Root, el dispositivo debe estar crackeado (para obtener permiso ROOT)
* @param comando comando: String apkRoot="chmod 777"+getPackageCodePath(); RootCommand(apkRoot);
* @return si la aplicación ha obtenido permisos de Root
*/
RootCommand booleano estático público (comando de cadena)
{
Proceso proceso = nulo;
DataOutputStream os = nulo;
intentar
{
proceso = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream( ));
os. writeBytes(comando + "\n");
os.writeBytes("salir\n");
os.flush ();
proceso. waitFor();
} captura (Excepción e )
{
Log.d("* ** DEBUG ***", "ROOT REE" + e.getMessage());
devuelve falso;
} finalmente
{
prueba
{
if (os ! = nulo)
{
os.close();
}
proceso.destroy();
} catch (Excepción e)
{
}
}
Log.d("** * DEBUG ** *", "Root SUC ");
devuelve verdadero;
}
}
}
En segundo lugar, en el método MainActivity de la aplicación:
clase pública MainActivity extiende Actividad
{
public void onCreat
e(Bundle saveInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Cadena apkRoot="chmod 777"+getPackageCodePath();
SystemManager.RootCommand(apkRoot);
}
}